我正在为新的 Centos 7 服务器设置出站电子邮件,它只需要从 PHP 发送,而不需要接收。
我已经检查过端口 25 是否打开并且是否在监听 0.0.0.0,因此 netstat 报告:
tcp 0 0 0.0.0.0:smtp 0.0.0.0:* LISTEN
我还检查了端口 25 是否对传出流量开放:
telnet gmail-smtp-in.l.google.com 25
但是当我尝试从 PHP 或命令行发送电子邮件时,出现此错误:
May 18 13:17:02 hostname postfix/error[4467]: 05DCA7FFA: to=<[email protected]>, relay=none, delay=0.06, delays=0.03/0.01/0/0.01, dsn=5.0.0, status=bounced (destination.com)
现在,我还在目标服务器上设置了一个端口侦听器,当我进行测试时,它不会拾取任何被反弹的流量。因此,看来 Postfix 甚至没有尝试进行传递。
我之前已经设置过几次 Postfix,这次的配置没有什么不同,唯一没有做的就是设置 SSL,但这不应该导致这个问题。我的 Postfix main.cf 更改如下:
myhostname = mail.yourdomain.com
mydomain = yourdomain.com
myorigin = $mydomain
home_mailbox = mail/
mynetworks = 127.0.0.0/8
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
并且在该操作成功之后,我还修改了 master.cf 以包含以下内容:
submission inet n - n - - smtpd
-o syslog_name=postfix/submission
-o smtpd_sasl_auth_enable=yes
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
答案1
我卸载了 postfix,重新启动并重新安装,现在一切正常。