2008年,我build立了一个简单的邮件服务器(运行ubuntu 8.04 LTS),允许本地自动化控制器无限制地发送邮件报警。 我曾经使用过gmx,但是发现如果一个帐户有大量的警报,表明有问题,gmx会阻止它。 我设置了后缀,并得到它的工作。 然后我需要能够允许这种types的控制器从远程站点发送警报。 我将防火墙规则设置为静态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:中继访问被拒绝; 从=到=原型= 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地址。 我比较了旧服务器和新服务器之间的configuration文件,它们基本相同。 有谁知道如何让它像以前一样工作?
“基本相同”不一样“相同”。 🙂
您需要在mynetworks列出授权的IP地址, 并告诉Postfix授权他们:
smtpd_recipient_restrictions = permit_mynetworks,
检查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".
所以,要解决这个问题,SASL必须和证书一起正确设置。 我几乎完全按照这个指南,并得到了一切工作:
https://help.ubuntu.com/12.04/serverguide/postfix.html 。
把我扔掉的是8.04我不需要它。 显然是postfix中的安全升级。