当我编辑 /etc/postfix/master.cf 并将 smtp 替换为 submission 以启用端口 587 时,我仍然可以发送电子邮件(SMTP 工作正常),但无法从外部接收电子邮件(本地邮件已发送)。我正在使用 dovecot IMAP。当我将 SMTP 端口改回 25 时,我就可以再次接收电子邮件。
有什么好主意可能导致该问题的原因吗?
如果您需要任何配置文件,请告诉我。
提前致谢!
答案1
基本上,端口 25 是其他电子邮件服务器尝试与您的服务器通信的端口。
如果您没有监听端口 25,那么外部服务器将不会尝试任何其他端口。因此,为了让外界与您对话,您需要监听端口 25。
外发电子邮件仍然有效,基本原因相同:您的服务器知道尝试联系端口 25 上的其他服务器,而其他服务器正在监听。
您想要的设置听起来如下:
- 允许在端口 25 上接收外部电子邮件(这通常意味着保留您的配置不变)
- 使用提交端口供用户发送电子邮件
一般来说,这样做的原因是您通常希望用户在发送电子邮件之前进行身份验证,而您并不期望外部服务器这样做。
另一种说法是,对于您的域,您只希望合法用户发送电子邮件,并且您会对他们进行身份验证以确保这一点。对于您自己的域以外的域,您不必担心这一点,并且会接受来自外部服务器的邮件(无论您是否验证他们代表给定域发言的“权利”是另一回事)。
第一种情况是端口 587/提交所用的,第二种情况是端口 25/SMTP 所用的。
因此,您有一组用于服务器到服务器通信(在端口 25 上)的规则/处理(在 master.cf 中定义),以及一组用于用户到服务器通信(在端口 587 上,又名提交端口)的规则/处理。
你可能想读一下不久前在 Ars 上发表的 4 部分系列文章: