Sendmail/postfix 邮件无法从本地 Mac OS X (Mountain Lion) 发送

2024-04-24

我正在尝试让 sendmail/postfix 在我的 iMac (10.9.2) 上正常工作。我有一个 php Web 应用程序,我正在尝试在本地测试,它需要发送邮件。

即使直接测试:

date | mail -s test [email protected] /cdn-cgi/l/email-protection

邮件永远不会到达,即使是垃圾邮件。在日志中,我看到大量联系 google/gmail 的“操作超时”错误:

Mar 17 10:57:13 imac.helion3.com postfix/postfix-script[10924]: starting the Postfix mail system
Mar 17 10:57:13 imac.helion3.com postfix/master[10925]: daemon started -- version 2.9.4, configuration /etc/postfix
Mar 17 10:57:13 imac.helion3.com postfix/qmgr[10933]: 012175629F9F: from=<[email protected] /cdn-cgi/l/email-protection>, size=352, nrcpt=1 (queue active)
Mar 17 10:57:16 imac.helion3.com postfix/pickup[10932]: 94BBF562A0B2: uid=501 from=<botskonet>
Mar 17 10:57:16 imac.helion3.com postfix/cleanup[10948]: 94BBF562A0B2: message-id=<20140317175716.94BBF562A0B2@localhost>
Mar 17 10:57:16 imac.helion3.com postfix/qmgr[10933]: 94BBF562A0B2: from=<[email protected] /cdn-cgi/l/email-protection>, size=310, nrcpt=1 (queue active)
Mar 17 10:57:43 imac.helion3.com postfix/smtp[10937]: connect to gmail-smtp-in.l.google.com[74.125.25.27]:25: Operation timed out
Mar 17 10:57:46 imac.helion3.com postfix/smtp[10951]: connect to gmail-smtp-in.l.google.com[74.125.25.26]:25: Operation timed out
Mar 17 10:58:13 imac.helion3.com postfix/smtp[10937]: connect to alt1.gmail-smtp-in.l.google.com[74.125.193.27]:25: Operation timed out
Mar 17 10:58:16 imac.helion3.com postfix/smtp[10951]: connect to alt1.gmail-smtp-in.l.google.com[74.125.193.27]:25: Operation timed out
Mar 17 10:58:43 imac.helion3.com postfix/smtp[10937]: connect to alt2.gmail-smtp-in.l.google.com[74.125.196.26]:25: Operation timed out
Mar 17 10:58:46 imac.helion3.com postfix/smtp[10951]: connect to alt2.gmail-smtp-in.l.google.com[74.125.196.27]:25: Operation timed out
Mar 17 10:59:13 imac.helion3.com postfix/smtp[10937]: connect to alt3.gmail-smtp-in.l.google.com[173.194.76.27]:25: Operation timed out
Mar 17 10:59:16 imac.helion3.com postfix/smtp[10951]: connect to alt3.gmail-smtp-in.l.google.com[74.125.29.26]:25: Operation timed out
Mar 17 10:59:43 imac.helion3.com postfix/smtp[10937]: connect to alt4.gmail-smtp-in.l.google.com[74.125.131.27]:25: Operation timed out
Mar 17 10:59:43 imac.helion3.com postfix/smtp[10937]: 012175629F9F: to=<[email protected] /cdn-cgi/l/email-protection>, relay=none, delay=689, delays=538/0.01/150/0, dsn=4.4.1, status=deferred (connect to alt4.gmail-smtp-in.l.google.com[74.125.131.27]:25: Operation timed out)
Mar 17 10:59:46 imac.helion3.com postfix/smtp[10951]: connect to alt4.gmail-smtp-in.l.google.com[173.194.75.27]:25: Operation timed out

我已经运行了推荐的 postfix perms 命令:

sudo mkdir -p /Library/Server/Mail/Data/spool
sudo /usr/sbin/postfix set-permissions
sudo /usr/sbin/postfix start

在日志中看到 ipv6 错误后,我已将 postfix 配置为使用 ipv4。无论如何,这是为了在本地测试一些东西,所以我不介意。

我已将 php 配置为使用:

sendmail_path=/usr/sbin/sendmail -t -i

尽管我当前的测试不涉及 php.


端口 25 似乎被阻止(无论是来自您的 ISP 还是可能是您这边):

google.com[74.125.131.27]:25: Operation timed out

打开终端并粘贴:

(echo >/dev/tcp/localhost/25) &>/dev/null && echo "TCP port 25 opened" || echo "TCP port 25 closed"

这应该表明您的计算机上是否打开了端口 25。如果端口关闭,您显然需要打开它。

另一个有用的命令是:

sudo lsof -i -P | grep -i "listen"

这将指示当前活动的所有开放端口和连接。

由于您没有提供有关您的配置本身的任何信息,我只能推测您的中继主机设置为什么。如果是 google,则尝试将端口设置为587:

relayhost = smtp.gmail.com:587

通常 ISP 默认会阻止端口 25,因为它常被垃圾邮件发送者使用。

编辑:确定必须考虑两件事 对于这种情况的考虑:

  1. postfix 邮件服务器使用动态 IP
  2. 邮件服务器由阻止端口 25 的 ISP 托管

修复方法是使用中继服务器,其中涉及更新后缀 main.cf 添加了中继主机信息和身份验证 旗帜。默认提交端口已更改为使用 587 以绕过 isp 阻止。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sendmail/postfix 邮件无法从本地 Mac OS X (Mountain Lion) 发送 的相关文章

随机推荐