Por Luiz
Antonio Cassetari Vieira Filho
Uma técnica interessante para acelerar o envio de e-mails em redes de pequeno porte, ou quando se tem algum servidor caseiro que envie mensagens de e-mail esporadicamente, é usar um servidor SMTP apenas para o relay das mensagens de saída.
Entretanto é muito "estressante" para o servidor local enviar as mensagens diretamente ao destinatário que pode estar a muitos roteadores de distancia, alem de muitos provedores estarem bloqueando IPs de ADSL e modems para o envio de mensagems, com a intenção de previnir spam.
Para isso pode se configurar o Postfix para que ele faça relay diretamente no SMTP do seu provedor de internet, assim as mensagens irão chegar no Postfix, e ele os enviará diretamente para o SMTP do seu provedor, que se encarregará da entrega final. No entanto esbarramos em um problema.
Alguns provedores estão usando senhas no SMTP, o que inviabiliza a simples configuração de um relay no Postfix. Esse artigo tem por intenção, simplificar as configurações necessárias no Postfix para implementar essa situação. Usaremos o Conectiva Linux 9 como distribuição, mas não deve ser muito dificil implementar isso em outra distribuição.
O artigo presume que o Postfix será utilizado única e exclusivamente para o relay de e-mails, e não terá nenhuma conta valida para o recebimento, mas isso pode ser facilmente adaptado, caso a situação contrária exista. O qmail também pode ser usado com a finalidade de fazer relay em um SMTP autenticado. Mas isso já é assunto para um outro artigo ;)
1: Se o Postfix ainda não estiver instalado, instale ele com o comando
# apt-get install postfix
2: Instale a biblioteca SASL2, necessário para o funcionamento da autenticação. Provavelmente já está instalado, mas...
# apt-get install sasl2
3: Instale o pacote sasl2-plug-plain necessário para autenticação.
# apt-get install sasl2-plug-plain
4: Crie um arquivo com a senha do servidor SMTP, com o formato
servidor_smtp login:senha
Exemplo:
# echo "smtp.terra.com.br usuario:senha" > /etc/postfix/sasl_passwd
5: Como esse arquivo mantém a senha em texto puro, é bom deixar ele seguro, mudando suas permissões.
# chown root.root /etc/postfix/sasl_passwd # chmod 600 /etc/postfix/sasl_passwd
6: Crie o banco de dados para o Postfix
# postmap hash:/etc/postfix/sasl_passwd
7: Edite o /etc/postfix/main.cf, alterando/criando/mudando os parâmetros para:
smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options =
8: Adicione o servidor do seu provedor no /etc/postfix/main.cf, com o parametro
relayhost = servidor_smtp
9: Inicie ou "reloadeie" o servidor Postfix
# service postfix reload
10: Teste o servidor mandando um e-mail, quando o e-mail chegar veja o source dele. Seu servidor deve aparecer nele ;) Dica 1: O tail é seu amigo, use-o.
# tail -f /var/log/maillog
Dica 2: Se por algum motivo muito estranho, o servidor recusar sua senha, tente usar diretamente o número IP do servidor SMTP. O Postfix às vezes se confunde com entradas de DNS, e isso economiza muita dor de cabeça.