Eu tenho duas contas do Gmail e quero configurar meu servidor postfix local como um cliente que faz autenticação SASL com smtp.gmail.com:587 com credenciais que dependem do endereço do remetente.
Então, digamos que minhas contas do Gmail são: [email protected]
e [email protected]
. Se eu enviei um email com [email protected]
no campo de cabeçalho FROM
, o postfix deverá usar as credenciais: [email protected]:psswd1
para fazer a autenticação SASL com o servidor SMTP do Gmail. Da mesma forma com [email protected]
, deve usar [email protected]:passwd2
. Soa bastante simples.
Bem, eu segui a documentação oficial do postfix no link e acabei com as seguintes configurações relevantes:
/etc/postfix/main.cf
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
smtp_tls_security_level = secure
smtp_tls_CAfile = /etc/ssl/certs/Equifax_Secure_CA.pem
smtp_tls_CApath = /etc/ssl/certs
smtp_tls_session_cache_database = btree:/etc/postfix/smtp_scache
smtp_tls_session_cache_timeout = 3600s
smtp_tls_loglevel = 1
tls_random_source = dev:/dev/urandom
relayhost = smtp.gmail.com:587
/ etc / postfix / sasl_passwd
[email protected] [email protected]:passwd1
[email protected] [email protected]:passwd2
smtp.gmail.com:587 [email protected]:passwd1
/ etc / postfix / sender_relay
[email protected] smtp.gmail.com:587
[email protected] smtp.gmail.com:587
Depois que termino as configurações que fiz:
$ postmap /etc/postfix/sasl_passwd
$ postmap /etc/postfix/sender_relay
$ /etc/init.d/postfix restart
O problema é que quando eu envio um email de [email protected]
, a mensagem acaba no destino com o endereço do remetente [email protected]
e NÃO [email protected]
, o que significa que o postfix sempre ignora as configurações por remetente e envia o email mail usando as credenciais padrão (a terceira linha em /etc/postfix/sasl_passwd
acima). Eu chequei as configurações várias vezes e até as comparei com aquelas em vários posts de blogs que abordavam o mesmo problema, mas achei que fossem mais ou menos iguais às minhas. Então, alguém pode me apontar na direção certa, no caso de eu estar perdendo alguma coisa?
Muito obrigado.
EDITAR :
Aqui está o que acontece em /var/log/mail.log quando eu envio um e-mail de [email protected] para outro endereço de e-mail "ofuscado", [email protected]
Sep 11 17:28:24 host postfix/pickup[13235]: D0E71A4167D: uid=1000 from=<marwan>
Sep 11 17:28:24 host postfix/cleanup[13259]: D0E71A4167D: message-id=<20120911152824.GX10881@host>
Sep 11 17:28:24 host postfix/qmgr[13236]: D0E71A4167D: from=<marwan@host>, size=413, nrcpt=1 (queue active)
Sep 11 17:28:25 host postfix/smtp[13263]: setting up TLS connection to smtp.gmail.com[173.194.70.108]:587
Sep 11 17:28:25 host postfix/smtp[13263]: Verified TLS connection established to smtp.gmail.com[173.194.70.108]:587: TLSv1 with cipher RC4-SHA (128/128 bits)
Sep 11 17:28:32 host postfix/smtp[13263]: D0E71A4167D: to=<[email protected]>, relay=smtp.gmail.com[173.194.70.108]:587, delay=7.8, delays=0.1/0/2.7/5, dsn=2.0.0, status=sent (250 2.0.0 OK 1347377285 25sm9995878bkx.9)
Sep 11 17:28:32 host postfix/qmgr[13236]: D0E71A4167D: removed
Quanto ao comando MAIL FROM, notei quando aumentava o nível de registro do tls:
Sep 11 18:26:53 host postfix/smtp[14287]: Write 42 chars: MAIL FROM:<marwan@host> SIZE=405 AUTH=<>
Então, o comando MAIL FROM deve conter [email protected]? e se for, o que devo fazer para que seja assim.
BTW, eu não editei essa última linha; meu hostname local é "host" e meu nome de usuário local é "marwan".
Obrigado novamente.