postfix 忽略中继主机

postfix 忽略中继主机

relayhost我已经在 postfix 服务器上设置了 sendgrid 。
通过以下方式发送邮件时,此功能非常有效sendmail

May 24 16:21:13 ip-*-*-*-* postfix/smtp[17742]: 542D01CDF:
to=<[email protected]>, relay=smtp.sendgrid.net[5.153.47.203]:587,
delay=2, delays=0.04/0.02/1.5/0.47, dsn=2.0.0, status=sent
(250 Delivery in progress)

但是当我尝试通过端口 587 发送并进行身份验证时:

May 24 16:34:03 ip-*-*-*-* postfix/error[18081]:
46A711CDE: to=<[email protected]>, relay=none,
delay=0.61, delays=0.59/0/0/0.01, dsn=4.7.4, status=deferred
(delivery temporarily suspended: TLS is required, but was not offered
by host 127.0.0.1[127.0.0.1])

相关配置:

postconf -n | grep relayhost
relayhost = [smtp.sendgrid.net]:587

# master.cf port 587
submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
# http://flurdy.com/docs/postfix/#config-secure-crypt
# if you do not want to restrict it encryption only, comment out next line
  -o smtpd_tls_auth_only=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject_unauth_destination,reject
  -o smtpd_sasl_security_options=noanonymous,noplaintext
  -o smtpd_sasl_tls_security_options=noanonymous

我没有transport文件覆盖任何内容,但发送发给同一个收件人根据我使用 sendmail 还是通过端口 587 上的 SASL 进行身份验证,产生不同的中继主机。
连接到端口 587 时一切都运行正常,并且 postfix 回复“ok,正在发送”,但它只是使用了不同的中继。

我如何确保每封不需要本地投递的邮件都通过中继发送?

答案1

localhost 上的通信是针对 amavis 的,而不是中继。
这与另一个问题,解决方法也一样,在 connection to/from amavis 下添加下面一行

amavis unix - - - - 2 smtp
  -o smtp_tls_security_level=none

127.0.0.1:10025 inet n - - - - smtpd
  -o smtp_tls_security_level=none

相关内容