有人告诉我,对于我的问题来说,这可能比 SO 更合适。
我一直在尝试设置我的 Mac OS X(10.5.8)以从本地主机发送电子邮件,以便我可以测试我的脚本。
我通常会收到成功消息,说电子邮件已发送但从未到达目的地。
他们似乎只是卡在了 Postfix mailq 中:
bash-3.2# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
60F062E9A958* 343 Wed Oct 13 19:36:24 [email protected]
[email protected]
189722E9A92F 3201 Wed Oct 13 19:35:57 MAILER-DAEMON
(connect to imac.lan[192.168.1.65]: Connection refused)
[email protected]
1A4882E9A930 2750 Wed Oct 13 19:35:57 MAILER-DAEMON
(connect to imac.lan[192.168.1.65]: Connection refused)
[email protected]
1F62E2E9A931 3197 Wed Oct 13 19:35:57 MAILER-DAEMON
(connect to imac.lan[192.168.1.65]: Connection refused)
[email protected]
20B5B2E9A932 3199 Wed Oct 13 19:35:57 MAILER-DAEMON
(connect to imac.lan[192.168.1.65]: Connection refused)
[email protected]
241E12E9A933 3309 Wed Oct 13 19:35:57 MAILER-DAEMON
(connect to imac.lan[192.168.1.65]: Connection refused)
[email protected]
242562E9A934 2782 Wed Oct 13 19:35:57 MAILER-DAEMON
(delivery temporarily suspended: connect to imac.lan[192.168.1.65]: Connection refused)
[email protected]
2917A2E9A935 2629 Wed Oct 13 19:35:57 MAILER-DAEMON
(Host or domain name not found. Name service error for name=imac.local type=MX: Host not found, try again)
[email protected]
295D42E9A936 3309 Wed Oct 13 19:35:57 MAILER-DAEMON
(delivery temporarily suspended: connect to imac.lan[192.168.1.65]: Connection refused)
[email protected]
我该怎么做才能让它正常工作?
如果有帮助的话,我的 /etc/hosts 中的 imac.dev 指向 127.0.0.1
谢谢,P。
答案1
首先,按照您的要求,这里介绍如何配置 postfix 来监听本地主机:
通过修改 /etc/postfix/main.cf 文件将 postfix 配置为仅在 localhost 上监听。添加或编辑它以具有以下 inet_interfaces 定义:
inet_interfaces = localhost
确保 postfix 在启动时启动。修改 /System/Library/LaunchDaemons/org.postfix.master.plist 文件,在前面添加以下行
</dict>
:<key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/>
确保 postfix 正在运行并反映您的配置更改:
$ launchctl stop org.postfix.master; launchctl start org.postfix.master
验证 postfix 仅在本地主机上监听 TCP/25:
$ netstat -an | grep 'LISTEN' | grep 25
tcp4 0 0 127.0.0.1.25 *.* LISTEN
但是,如果您希望将我在队列中看到的退回邮件发送到 imac.lan,您还需要让 postfix 监听 192.168.1.65(或您当前的 IP 地址)。一种方法是将 inet_interfaces 行修改为:
inet_interfaces = all