Eu tento enviar e-mails do meu servidor por meio do Postfix, mas não consigo fazer isso 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
, libsasl2-modules
e sasl2-bin
. Em /etc/postfix/sasl_password
, inseri credenciais válidas:
[mail.myISP.nl]:587 myuserid:mypassword
após o qual executei o comando para converter o arquivo de texto em um arquivo .db
:
postmap /etc/postfix/sasl_password
e recarregou a configuração do Postfix:
sudo systemctl reload postfix
No entanto, nenhum email é enviado. Eu executei um despejo de 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 email foi enviado. O que há de errado?