我刚刚使用 CentOS 7 在 Vultr.com 上设置了一个小型 VPS 来为一些 Wordpress 网站提供服务。
除了 Nginx 和 PHP 之外,服务器是全新的。
Wordpress 设置一切正常,除了尝试发送电子邮件时无法发送。
我已经检查了 /var/log/maillog,它充满了如下错误;
Jan 8 18:29:56 myhostname postfix/smtp[19866]: connect to alt2.aspmx.l.google.com[64.233.191.27]:25: Connection timed out
Jan 8 18:29:56 myhostname postfix/smtp[19867]: connect to alt2.aspmx.l.google.com[64.233.191.27]:25: Connection timed out
Jan 8 18:29:56 myhostname postfix/smtp[19868]: connect to alt1.aspmx.l.google.com[64.233.168.26]:25: Connection timed out
Jan 8 18:29:56 myhostname postfix/smtp[19869]: connect to alt2.aspmx.l.google.com[64.233.191.27]:25: Connection timed out
Jan 8 18:29:56 myhostname postfix/smtp[19870]: connect to alt1.aspmx.l.google.com[64.233.168.26]:25: Connection timed out
Jan 8 18:29:56 myhostname postfix/smtp[19871]: connect to alt2.aspmx.l.google.com[64.233.191.27]:25: Connection timed out
Jan 8 18:29:56 myhostname postfix/smtp[19871]: connect to alt1.aspmx.l.google.com[2607:f8b0:4003:c07::1a]:25: Network is unreachable
Jan 8 18:29:56 myhostname postfix/smtp[19868]: 8BDEC6DA3: to=<[email protected]>, relay=none, delay=55132, delays=55072/0.03/60/0, dsn=4.4.1, status=deferred (connect to alt1.aspmx.l.google.com[64.233.168.26]:25: Connection timed out)
Jan 8 18:29:56 myhostname postfix/smtp[19870]: 034A76DAB: to=<[email protected]>, relay=none, delay=1549, delays=1489/0.05/60/0, dsn=4.4.1, status=deferred (connect to alt1.aspmx.l.google.com[64.233.168.26]:25: Connection timed out)
Jan 8 18:29:56 myhostname postfix/smtp[19871]: 083EB6DA9: to=<[email protected]>, relay=none, delay=26662, delays=26602/0.06/60/0, dsn=4.4.1, status=deferred (connect to alt1.aspmx.l.google.com[2607:f8b0:4003:c07::1a]:25: Network is unreachable)
Jan 8 18:29:57 myhostname postfix/pickup[19864]: 918676DB7: uid=997 from=<nginx>
Jan 8 18:29:57 myhostname postfix/cleanup[19885]: 918676DB7: message-id=<[email protected]>
Jan 8 18:29:57 myhostname postfix/qmgr[3434]: 918676DB7: from=<[email protected]>, size=781, nrcpt=1 (queue active)
Jan 8 18:29:57 myhostname postfix/error[19886]: 918676DB7: to=<[email protected]>, relay=none, delay=0.07, delays=0.06/0.01/0/0, dsn=4.4.1, status=deferred (delivery temporarily suspended: connect to alt1.aspmx.l.google.com[2607:f8b0:4003:c07::1a]:25: Network is unreachable)
此外,运行时不会发送任何电子邮件;
echo "Subject: sendmail test" | sendmail -v [email protected]
任何帮助都将不胜感激。
答案1
确保它没有被 selinux 阻止(/var/log/audit/audit.log
)。通常,您必须在启用 selinux 时明确允许 Web 服务器发送电子邮件(setsebool -P httpd_can_sendmail
)。
如果不是这种情况,则说明防火墙阻止了端口 25 上的传出连接。在这种情况下,请联系您的托管商。他们要么为您提供可用的 SMTP 服务器,要么在防火墙中打开该端口。
由于该sendmail
命令也不起作用,我怀疑是后一种情况。
答案2
看起来 vultr.com 正在阻止到端口 25 的外部连接,您应该联系他们来解除阻止。
读这个:https://www.vultr.com/faq/#outboundsmtp(我在这个讨论中发现了这一点https://discuss.vultr.com/discussion/1027/smtp-port-25-is-supposed-to-have-been-opened-but-doesnt-seem-to)。
您还可以通过发出例如此命令来检查端口是否真的被阻止nmap -p 25 64.233.191.27 -Pn
(如果尚未安装 nmap,则必须先安装 nmap)。