无法在 Postfix/Ubuntu 上使用端口 587 接收邮件

无法在 Postfix/Ubuntu 上使用端口 587 接收邮件

我需要了解.. 我正在尝试使用 在我的 Postfix/Ubuntu 站点上安装邮件服务。假设我的 ISP 已阻止端口 25,我打算改用端口 587。因此,我按照建议在 main.cf 中进行了更改:

relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_use_tls = yes

到目前为止,我可以通过我的 Google 帐户发送电子邮件。但我收不到任何邮件!为了调查这个问题,我监控了不同端口上的监听活动,我注意到 Postfix 仅在端口 25 上启动了其监听进程“master”!

我有点困惑,因为配置文件中没有任何内容涉及端口 25。为了确保 Postfix 可以使用端口 587,我向防火墙发出了命令:

ufw allow any to any port 587 app Postfix

fw 回答我,它不会重复添加已经存在的规则。但是当我列出活动规则时,我强调的规则没有出现在列表中!

我真的很困惑:Postfix 只在 25 上监听,防火墙无法理解我发布的规则,邮件无法到达我的站点!求助,解释一下!

答案1

首先,显示的配置与 Postfix 监听的端口完全无关。您显示的所有设置 -relayhost以及所有smtp_*参数 - 都适用于 Postfix作为客户即当它发送传出邮件到外部域。(正如你所说,这部分工作正常。)

为了传入邮件,监听的端口配置为master.cf- 587 在那里被称为“提交”,即客户端用来提交新邮件的端口。(请注意,默认情况下需要身份验证,因此需要进行更多配置才能使其适合从服务器接收入站邮件。事实上,最好添加一个新的端口条目,例如端口 26,用于入站邮件。)

但是,这最终不会有任何用处,因为其他邮件服务器无法神奇地知道您的系统正在监听哪些端口以进行 SMTP 通信。没有办法告诉 Gmail 或其他域通过非标准端口向您发送邮件 - 它们将始终尝试连接到 TCP 端口 25。(仅有的例外情况是您管理的系统。

相关内容