Antes de iniciar
O servidor SMTP configurado para a rede local poderia, teoricamente, enviar email para qualquer destinatário. Na prática era pouco provável que chegasse ao destino final. Isto porque os fornecedores de acesso à Internet, para lutar contra o envio de email não solicitado (spam), impõem regras muito apertadas para aceitar e reencaminhar emails.
Por outro lado, mesmo que o email chegasse ao destino, uma eventual resposta seria endereçada para o remetente (por exemplo nal.emoh|oriebirf#nal.emoh|oriebirf) de um domínio que não existe fora da rede local.
Assim, para enviar correio electrónico para o exterior, deverão ser resolvidas 2 questões:
- O servidor smtp do nosso fornecedor de acesso Internet (ISP) deve aceitar a ligação do nosso servidor.
- O endereço do remetente deve ser de um domínio válido, para poder receber respostas.
Para contornar estas questões, nada mais simples do que utilizar então servidores e endereços válidos. Assim, ao enviar emails para o exterior, deverá acontecer o seguinte:
- O nosso servidor deverá enviar email através de um servidor SMTP externo; Caso necessário, deverá autenticar-se como utilizador válido.
- O nosso endereço email deverá ser substituído por outro endereço email válido no exterior.
Neste caso, iremos utilizar o servidor SMTP do Gmail (smtp.gmail.com) e um endereço do Gmail (moc.liamg|oriebir.miugnip#moc.liamg|oriebir.miugnip).
Instalação
Instalação dos pacotes de autenticação:
server:~# apt-get install libsasl2 libsasl2-modules sasl2-bin
Configuração
saslauthd
O arranque automático do serviço saslauthd deve ser configurado no ficheiro /etc/default/saslauthd:
#
# Settings for saslauthd daemon
#
# Should saslauthd run automatically on startup? (default: no)
START=yes
#[...]
Reinicar o serviço saslauthd:
server:~# /etc/init.d/saslauthd restart
relay
A configuração do postfix para usar um servidor smtp intermédio (relay) é feita no ficheiro /etc/postfix/main.cf:
Em primeiro lugar, indicar o servidor smtp do Gmail como "relay".
# [...]
#
# relay
#
relayhost = [smtp.gmail.com]
Em seguida, configurar uma ligação encriptada (tls) e autenticada (sasl_auth), bem como a localização do ficheiro de parâmetros de autenticação (password_maps):
# [...]
#
# SASL SUPPORT FOR SERVERS
#
# The following options set parameters needed by Postfix to enable
# Cyrus-SASL support for authentication of mail servers.
#
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
Os parâmetros de autenticação no servidor smtp do Gmail estão guardados no ficheiro /etc/postfix/sasl_passwd:
[smtp.gmail.com] pinguim.ribeiro:myGmailPassword
Por segurança, o ficheiro /etc/postfix/sasl_passwd deve estar protegido, sendo só acessível por root:
server:# chmod 600 /etc/postfix/sasl_passwd
Sempre que o ficheiro /etc/postfix/sasl_passwd for alterado, deve ser a base de dados correspondente deve ser regenerada:
server:# postmap /etc/postfix/sasl_passwd
mapeamento de endereços
Ao enviar emails para o exterior, os endereços internos (nal.emoh|oriebirf#nal.emoh|oriebirf) devem ser substituídos por endereços externos (moc.liamg|oriebir.miugnip#moc.liamg|oriebir.miugnip).
O postfix deve ser configurado para usar o ficheiro de mapeamento de endereços, o que é feito no ficheiro /etc/postfix/main.cf:
smtp_generic_maps = hash:/etc/postfix/generic
O ficheiro com o mapeamento de endereços consiste numa lista de endereços locais e os correspondentes endereços externos. O tamanho da lista não está limitado, podendo ser aumentada para conter os endereços dos diversos utilizadores locais.
O ficheiro está em /etc/postfix/generic:
fribeiro@home.lan pinguim.ribeiro@gmail.com
Sempre que o ficheiro /etc/postfix/generic for alterado, deve ser a base de dados correspondente deve ser regenerada:
server:# postmap /etc/postfix/generic
Reiniciar o postfix:
server:~# /etc/init.d/postfix restart
Links relacionados
- Postfix SASL Howto, Enabling SASL authentication in the Postfix SMTP client (http://www.postfix.org/SASL_README.html#client_sasl)
- Gmail on Home Linux Box using Postfix and Fetchmail (http://souptonuts.sourceforge.net/postfix_tutorial.html)
- Postfix SMTP AUTH (and TLS) HOWTO, 16. SMTP Authentication for Mail servers (http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailservers.html)





















Estava há dias tentando fazer isso , li varios howto e nenhum deles dava certo , o seu foi perfeito ..muito obrigado . valeu mesmo !
luis
Desde já dou os parabens, tutorial simples, rapido, perceptivel e principalmente EFICAZ!
Surgiu-me uma duvida!
Em relação ao ficheiro "sasl_passwd" como faço para adicionar mais users?
É que quando meto assim, por exemplo:
[smtp.gmail.com] user.1:GmailPassword1
[smtp.gmail.com] user.2:GmailPassword2
quando corro o comando para o .bd (postmap /etc/postfix/sasl_passwd)
Dá-me um Warning por ter os campos "[smtp.gmail.com]" iguais.
A questao é! Há problema dar esse Aviso?
Se si, como fazer para adicionar mais users?
Aguardo resposta o mais breve possivel :)
mail: moc.liamg|olel.jd#moc.liamg|olel.jd
http://souptonuts.sourceforge.net/postfix_sbr.html