我正在尝试使用 postfix 构建仅发送邮件服务器。我遵循了此文档来自数字海洋
当我尝试发送电子邮件时,出现以下错误。(我从 /var/log/mail.log 复制)
假设我的域名是domainaddress.com
Feb 9 07:52:54 domainaddress postfix/qmgr[22091]: B22861BA03A: from=<hsntngr@domainaddress>, size=403, nrcpt=1 (queue active)
Feb 9 07:52:54 domainaddress postfix/smtp[26332]: connect to domainaddress[127.0.1.1]:25: Connection refused
Feb 9 07:52:54 domainaddress postfix/smtp[26333]: connect to domainaddress[127.0.1.1]:25: Connection refused
Feb 9 07:52:54 domainaddress postfix/smtp[26332]: 6A8D81BA0FA: to=<hsntngr@domainaddress>, relay=none, delay=29909, delays=29909/0.01/0/0, dsn=4.4.1, status=deferred (conn$
Feb 9 07:52:54 domainaddress postfix/smtp[26332]: connect to domainaddress.com[128.199.50.100]:25: Connection refused
Feb 9 07:52:54 domainaddress postfix/smtp[26333]: 6CDC81BA03F: to=<hsntngr@domainaddress>, relay=none, delay=126295, delays=126295/0.01/0/0, dsn=4.4.1, status=deferred (co$
Feb 9 07:52:54 domainaddress postfix/smtp[26332]: 6BDFF1BA0F8: to=<[email protected]>, relay=none, delay=29997, delays=29997/0.02/0/0, dsn=4.4.1, status=deferred ($
Feb 9 07:52:54 domainaddress postfix/smtp[26333]: connect to domainaddress[127.0.1.1]:25: Connection refused
Feb 9 07:52:54 domainaddress postfix/smtp[26333]: B22861BA03A: to=<your_email_address@domainaddress>, relay=none, delay=126304, delays=126304/0.02/0.01/0, dsn=4.4.1, status..
即使我在配置文件中设置了我的主机名,主机名似乎也是错误的。
还有我的配置文件(/etc/postfix/main.cf)
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mail.domainaddress.com
mydomain = domainaddress.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $myhostname
mydestination = $myhostname, localhost, $mydomain , www.$mydomain
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = ipv4
我知道我在某个地方做错了什么,但两天来我都无法弄清楚是什么问题,在哪里发生过。
答案1
作为弗雷迪指出注释中的问题,通过重新启动 postfix 确保没有未应用的更改:
service postfix restart
如果问题仍然存在,请在/etc/hosts
127.0.0.1 mail.domainaddress.com
还要确保您可以解析主机名
nslookup google.com
否则,请从网络配置文件中的内容开始修复它。
确保防火墙没有阻止 localhost:25
telent localhost 25
不应返回超时/拒绝,否则
iptables -I INPUT 1 -s 127.0.0.1 -d 127.0.0.1 -p tcp --dport 25 -j ACCEPT
iptables -I OUTPUT 1 -s 127.0.0.1 -d 127.0.0.1 -p tcp --sport 25 -j ACCEPT
这些规则将要不管防火墙配置如何,都允许连接,但这只是一个糟糕的解决办法。例如,它可能会跳过任何依赖于防火墙日志的安全措施。
如果是防火墙的话,请避免永久保存这些规则,而是开始全面检查您的 iptables 规则集。
从日志中可以肯定,postfix 正在运行。遇到此问题的其他用户可能有不同的/没有日志和相同的症状,因此,如果他们尚未重新启动 postfix,对他们来说可能值得在编辑 iptables 规则集之前运行:
service postfix status
如果它没有运行
service postfix start
答案2
是不是因为端口 25 被阻止了,导致无法连接到外部 smtps(可能是您的 ISP 阻止的)?我猜telnet mail.domainaddress.com 25
也是失败了?您可以试试吗?