2008 年,我设置了一个简单的邮件服务器(运行 ubuntu 8.04 LTS),以允许本地自动化控制器无限制地发送电子邮件警报。我曾经使用 gmx,但发现如果一个帐户有大量警报(这表明存在问题),gmx 会阻止它。我设置了 postfix 并使其正常工作。然后我需要能够允许这种类型的控制器从远程站点发送警报。我为我的静态 IP 地址设置了防火墙规则,一切正常。
现在,我安装了一台新服务器,运行 ubuntu 12.04,执行的操作与以前完全相同。本地控制器可以连接到服务器并正常发送电子邮件。但是,当远程控制器尝试连接时,我在 /var/log/mail.log 中看到以下内容:
8 月 23 日 16:21:24 localhost postfix/smtpd[6709]: NOQUEUE: 拒绝:来自未知的 RCPT[xx.xx.xx.xx]: 554 5.7.1: 中继访问被拒绝;来自= 到= proto=ESMTP helo=
我发现编辑特定的行/etc/postfix/main.cf
允许单个远程 IP 地址连接并发送邮件:
mynetworks = 127.0.0.0/8,10.102.0.0/16,xx.xx.xx.xx/32
其中 xx.xx.xx.xx 是远程位置的静态 IP 地址。我比较了旧服务器和新服务器的配置文件,它们基本相同。有人知道如何让它像以前一样工作吗?
答案1
“基本相同”与“相同”不同。:)
您需要列出授权的 IP 地址mynetworks
和告诉 Postfix 授权他们:
smtpd_recipient_restrictions =
permit_mynetworks,
答案2
检查virtual
文件中的后缀。
/etc/postfix/virtual:
# virtual-alias.domain anything (right-hand content does not matter)
# [email protected] postmaster
# [email protected] address1
# [email protected] address2, address3
#
# The virtual-alias.domain anything entry is required for a
# virtual alias domain. Without this entry, mail is rejected
# with "relay access denied", or bounces with "mail loops
# back to myself".
答案3
因此,要修复此问题,必须正确设置 SASL 和证书。我几乎完全按照此指南操作,并且一切正常:
https://help.ubuntu.com/12.04/serverguide/postfix.html。
让我感到困惑的是,我在 8.04 上不需要它。显然是 postfix 中的安全升级。