Tento enviar e-mail do meu servidor através do Postfix, mas não consigo fazer funcionar. Estou usando um servidor SMTP externo como host de retransmissão. Esta é a parte relevante de /etc/postfix/main.cf
:
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
relayhost = [mail.myISP.nl]:submission
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = all
smtp_generic_maps = hash:/etc/postfix/generic
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
debug_peer_list=mail.myISP.nl
debug_peer_level=5
Eu instalei libsasl2-2
e libsasl2-modules
. sasl2-bin
Em /etc/postfix/sasl_password
, inseri credenciais válidas:
[mail.myISP.nl]:587 myuserid:mypassword
depois disso executei o comando para converter o arquivo de texto em um .db
arquivo:
postmap /etc/postfix/sasl_password
e recarreguei a configuração do Postfix:
sudo systemctl reload postfix
No entanto, nenhum e-mail é realmente enviado. Executei um dump TCP no seguinte comando:
echo "This is a test" | mail -s "Testing" [email protected]
E o resultado foi a seguinte troca com o servidor remoto:
(S) srv17610.myISP.nl ESMTP Exim 4.86.2 Wed, 28 Dec 2016 11:06:24 +0100
(C) EHLO hostname
(S) 250-srv17610.myISP.nl Hello my.canonical.name.nl [xxx.xxx.xxx.xxx]
(S) 250-SIZE 20971520
(S) 250-8BITMIME
(S) 250-PIPELINING
(S) 250-AUTH PLAIN LOGIN
(S) 250-STARTTLS
(S) 250 HELP
(C) MAIL FROM:<[email protected]> SIZE=310
(C) RCPT TO:<[email protected]>
(C) DATA
(S) 250 OK
(S) 550 relay not permitted, authentication required
(S) 503-All RCPT commands were rejected with this error:
(S) 503-relay not permitted, authentication required
(S) 503 Valid RCPT command must precede DATA
(C) RSET
(C) QUIT
(S) 250 Reset OK
(S) 221 srv17610.myISP.nl closing
Com (C) sendo Postfix e (S) o servidor remoto. Você pode ver que ele não emite um comando AUTH, não oferece credenciais e, portanto, o email é rejeitado. O /var/log/mail.log
simplesmente diz que o e-mail foi enviado. O que há de errado?
Responder1
Sua configuração parece legítima, mas o postfix exige que seu arquivo smtp_sasl_password_maps seja realmente armazenado de forma otimizada e não em texto não criptografado.
se você não tiver esse arquivo
executando o comando:
postmap /etc/postfix/sasl_password
irá gerar um sasl_password.db
recarga de postfix de serviço
para aplicar alterações