Я использую почту от терминала Mac OS X для отправки результатов запроса базы данных мне по электронной почте. Большую часть времени это работает, но иногда существует длительная задержка, прежде чем почта прибудет (часто, когда другой подобный скрипт запущен). Похоже, что существует некоторый отправлять очередь, но я не могу найти документацию, упомянув это. Есть ли что-то, что я должен сделать для сбрасывания почты от терминала?
ОБНОВЛЕНИЕ: Иногда доставки, даже кажется, не происходит, хотя я не получаю ошибок в консоли. Очень странный.
Я думаю, что это происходит, потому что постфикс в 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
OS X идет с постфиксом, установленным и настроенным для основного использования. Его конфигурационные файлы находятся в /etc/postfix
. Документация по postfix.org.
Заглянуть /var/log/mail.log
для возможных сообщений об ошибках.
Заглянуть /var/spool/postfix
для сообщений с очередями, которые постфикс принял, но еще не вышел.
Мое предположение - то, что Ваш ISP предотвращает исходящие сообщения. Путем блокирования исходящего трафика, предназначенного для порта 25 на других серверах, ISPs может блокировать спам, отправленный невольно зараженными компьютерами. ISP только позволит Вашему компьютеру соединиться с портом 25 на его designiated smtp сервер.
Если это - Ваша проблема, добавьте строку с smtp_fallback_relay к /etc/postfix/main.cf
как это:
smtp_fallback_relay = smtp.comcast.net, smtp.myisp.net
(заменяющий те доменные имена доменами smtp серверов Вашего ISP)
На SnowLeopard постфикс предварительно сконфигурирован, чтобы быть запущенным по требованию launchd (см./system/library/org.postfix.master.plist).
В моем случае почта была отправлена без любой конфигурации PostFix, но mailserver получателя отклонил его:
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))
Почтовый сервер получателя жалуется, потому что ведущее-устройство-mini.local (локальное имя хоста) является недопустимым доменным именем. Псевдо локальный домен верхнего уровня используется Zeroconf.
Решение в этом случае состояло в том, чтобы отредактировать/etc/postfix/main.cf и обновить myhostname к допустимому домену.