Mac OS X 中的终端邮件传递延迟

Mac OS X 中的终端邮件传递延迟

我使用 Mac OS X 终端的邮件功能通过电子邮件将数据库查询的结果发送给我。大多数情况下它都能正常工作,但有时邮件到达之前会有很长时间的延迟(通常是在运行另一个类似的脚本时)。看起来有某种发送队列,但我找不到任何提及此内容的文档。我需要做些什么才能从终端刷新邮件?

更新:有时似乎根本就没有传送,尽管控制台上没有出现任何错误。很奇怪。

答案1

我认为这种情况发生是因为 MacOSX >= 10.4 中的 postfix 配置为“按需”运行。要永久启用它,您必须编辑

/System/Library/LaunchDaemons/org.postfix.master.plist

并添加一些设置:

<key>RunAtLoad</key>
<true/>
<key>OnDemand</key>
<false/>

另请参阅 stephendv 在此处的帖子:

http://hints.macworld.com/article.php?story=20031025022626398

答案2

OS X 已安装并配置了 Postfix 以供基本使用。其配置文件位于/etc/postfix。文档位于postfix.org

查看/var/log/mail.log可能的错误信息。

查看/var/spool/postfixPostfix 已接受但还未发出的排队消息。

我猜是您的 ISP 阻止了出站消息。通过阻止发往其他服务器上端口 25 的出站流量,ISP 可以阻止受感染计算机在不知情的情况下发送的垃圾邮件。ISP 只会允许您的计算机连接到其指定 smtp 服务器上的端口 25。

如果这是你的问题,添加一行smtp_fallback_relay喜欢/etc/postfix/main.cf这个:

smtp_fallback_relay = smtp.comcast.net, smtp.myisp.net

(将这些域名替换为您 ISP 的 smtp 服务器的域名)

答案3

在 SnowLeopard 上,postfix 已预先配置为由 launchd 按需启动(参见 /system/library/org.postfix.master.plist)。

就我的情况而言,邮件在没有任何 PostFix 配置的情况下发送,但收件人的邮件服务器拒绝了它:

master-mini postfix/smtp[3691]: 0200D6FFBF0: to=<[email protected]>, relay=mail.example.com[xx.xx.xx.xx]:25, delay=2.7, delays=0.01/0/1.9/0.76, dsn=5.0.0, status=bounced (host mail.example.com[xx.xx.xx.xx] said: 550-Verification failed for <[email protected]> 550-The mail server could not deliver mail to [email protected]. The account or domain may not exist, they may be blacklisted, or missing the proper dns entries. 550 Sender verify failed (in reply to RCPT TO command))

收件人的邮件服务器抱怨,因为 master-mini.local(本地主机名)是无效的域名。Zeroconf 使用顶级伪域 local。

在这种情况下,解决方案是编辑 /etc/postfix/main.cf 并将 myhostname 更新为有效域。

相关内容