Мне посоветовали, что это может быть лучшим местом для моего вопроса, чем SO.
Я пытался настроить свою Mac OS X (10.5.8) для отправки электронных писем с локального хоста, чтобы я мог тестировать свои скрипты.
Обычно я получаю сообщения об успешном завершении, в которых говорится, что электронные письма отправлены, но они не достигают места назначения.
Похоже, они просто застревают в почтовом ящике Postfix:
bash-3.2# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
60F062E9A958* 343 Wed Oct 13 19:36:24 daemon@imac.dev
paperclip@gmail.com
189722E9A92F 3201 Wed Oct 13 19:35:57 MAILER-DAEMON
(connect to imac.lan[192.168.1.65]: Connection refused)
daemon@imac.lan
1A4882E9A930 2750 Wed Oct 13 19:35:57 MAILER-DAEMON
(connect to imac.lan[192.168.1.65]: Connection refused)
daemon@imac.lan
1F62E2E9A931 3197 Wed Oct 13 19:35:57 MAILER-DAEMON
(connect to imac.lan[192.168.1.65]: Connection refused)
daemon@imac.lan
20B5B2E9A932 3199 Wed Oct 13 19:35:57 MAILER-DAEMON
(connect to imac.lan[192.168.1.65]: Connection refused)
daemon@imac.lan
241E12E9A933 3309 Wed Oct 13 19:35:57 MAILER-DAEMON
(connect to imac.lan[192.168.1.65]: Connection refused)
daemon@imac.lan
242562E9A934 2782 Wed Oct 13 19:35:57 MAILER-DAEMON
(delivery temporarily suspended: connect to imac.lan[192.168.1.65]: Connection refused)
daemon@imac.lan
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)
nobody@imac.local
295D42E9A936 3309 Wed Oct 13 19:35:57 MAILER-DAEMON
(delivery temporarily suspended: connect to imac.lan[192.168.1.65]: Connection refused)
daemon@imac.lan
Что я могу сделать, чтобы это заработало?
Если это поможет, у меня есть imac.dev, указывающий на 127.0.0.1 в моем / etc / hosts
Спасибо, П.
Во-первых, вот как настроить postfix для прослушивания на localhost, как вы просили:
Настройте postfix для прослушивания только на локальном хосте, изменив файл /etc/postfix/main.cf. Добавьте или отредактируйте его, чтобы он имел следующее определение 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