主机无法通过端口 587 的中继主机发送邮件。
我有两台服务器。一台邮件服务器和一台使用邮件服务器作为中继主机的服务器。
客户端服务器应通过端口 587 发送。客户端和邮件服务器之间可以通过端口 587 建立 telnet 连接。但尝试发送邮件时会出现以下几行(/var/log/maillog):
May 23 07:16:56 mail postfix/smtpd[15476]: connect from HOST_DNS[HOST_IP]
May 23 07:16:56 mail postfix/smtpd[15476]: disconnect from HOST_DNS[HOST_IP] ehlo=1 auth=0/2 quit=1 commands=2/4
编辑:
我也在邮件日志中收到此信息:
May 23 09:32:13 187 postfix/smtp[402991]: maps_find: smtp_sasl_password_maps: MYHOSTNAME: not found
May 23 09:32:13 187 postfix/smtp[402991]: maps_find: smtp_sasl_password_maps: [MYHOSTNAME]:587: not found
在main.cf中:
relayhost=[MYHOSTNAME]:587
并在 /etc/postfix/sasl_passwd 中:
[MYHOSTNAME]:587 user@domain:password
已解决此部分:sasl_passwd 中的语法错误和缺少 postmap 命令。上述问题仍然存在。
答案1
你可能还有
relayhost = [MYHOSTNAME]:587
还启用了对 MYHOSTNAME 的身份验证:
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_use_tls = yes
该错误表明您在 使用以下maps_find:
命令更新纯文本文件后没有更新 Postfix 查找/etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd