Терминальная задержка доставки почты в Mac OS X

2773
cmaughan

Я использую почту с терминала Mac OS X, чтобы отправить мне результаты запроса к базе данных по электронной почте. Большую часть времени это работает, но иногда перед приходом почты возникает большая задержка (часто при запуске другого подобного скрипта). Похоже, что есть какая-то очередь отправки, но я не могу найти никакой документации, упоминающей это. Есть ли что-то, что мне нужно сделать, чтобы очистить почту от терминала?

ОБНОВЛЕНИЕ: Иногда доставка даже не кажется, хотя я не получаю ошибок на консоли. Очень странно.

2

3 ответа на вопрос

5
Doug Harris

OS X поставляется с постфиксом, установленным и настроенным для базового использования. Его конфигурационные файлы находятся в /etc/postfix. Документация на postfix.org .

Ищите /var/log/mail.logвозможные сообщения об ошибках.

Ищите сообщения в /var/spool/postfixочереди, которые постфикс принял, но еще не вышел.

Я предполагаю, что ваш провайдер предотвращает исходящие сообщения. Блокируя исходящий трафик, предназначенный для порта 25 на других серверах, интернет-провайдеры могут блокировать спам, неосознанно передаваемый зараженными компьютерами. Интернет-провайдер разрешит вашему компьютеру подключаться только к порту 25 на указанном SMTP-сервере.

Если это ваша проблема, добавьте строку с smtp_fallback_relay, чтобы /etc/postfix/main.cfэто нравится:

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

(замена этих доменных имен на домены SMTP-серверов вашего провайдера)

1
Jonathan Mitchell

В SnowLeopard постфикс предварительно настроен для запуска по требованию с помощью launchd (см. /System/library/org.postfix.master.plist).

В моем случае почта была отправлена ​​без какой-либо конфигурации PostFix, но почтовый сервер получателя отклонил ее:

master-mini postfix/smtp[3691]: 0200D6FFBF0: to=<rubber@ball.com>, 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 <nobody@master-mini.local> 550-The mail server could not deliver mail to nobody@master-mini.local. 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.

Решение в этом случае состояло в том, чтобы отредактировать /etc/postfix/main.cf и обновить myhostname в допустимый домен.

0
marc.guenther

Я думаю, что это происходит потому, что постфикс в MacOSX> = 10.4 настроен для запуска «по требованию». Чтобы включить его постоянно, вы должны отредактировать

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

и добавьте некоторые настройки:

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

Также смотрите постинг от stephendv здесь:

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