Mac OS X 10.5 и 10.6 поставляются с программой для отправки почты postfix
, но по умолчанию она не включена. Это может работать с 10.7, но я не рассматривал это.
Если вы просто хотите отправить всю исходящую почту на какой-либо сервер ретрансляции, например, на SMTP-сервер вашего интернет-провайдера, вам обычно требуется имя хоста для компьютера, который отправляет почту. Эта конфигурация предназначена для сервера, который не используется для получения почты.
Откройте терминал и введите следующие команды, каждая в одной строке. После первой команды вам будет предложено ввести пароль. (О, вы должны войти в систему как пользователь с правами администратора.)
Во-первых, вы хотите настроить postfix
запуск, когда ваш компьютер пытается отправить почту:
% sudo launchctl unload /System/Library/LaunchDaemons/org.postfix.master.plist
% sudo defaults write /System/Library/LaunchDaemons/org.postfix.master OnDemand -bool true
% sudo launchctl load /System/Library/LaunchDaemons/org.postfix.master.plist
Далее вы хотите указать postfix
имя хоста компьютера:
% sudo postconf -e myhostname=<host-name-of-computer>
Далее скажите, postfix
какой SMTP-сервер использовать для отправки электронной почты:
% sudo postconf -e relayhost=<your-isp's-smtp-server>
Это работает для меня, потому что мой провайдер не требует аутентификации для использования своего SMTP-сервера. Они только требуют, чтобы трафик исходил из их сети.
Если для используемого SMTP-сервера требуется проверка подлинности, необходимо выполнить несколько дополнительных действий:
% sudo echo <you-isp's-smtp-server> <username>:<password> >> /etc/postfix/sasl_passwd
% sudo postconf -e smtp_sasl_auth_enable=yes
% sudo postconf -e smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
На этом этапе, если postfix
попытается отправить электронное someone@<host-name-of-computer>
письмо, оно будет доставлено локально. Если ваша электронная почта для этого имени хоста обрабатывается каким-либо другим сервером, скажите, postfix
что это не конечный пункт назначения электронной почты, отправленной на это имя хоста:
% sudo postconf -e mydestination=localhost
Я использовал следующее специально для моей среды:
% sudo postconf -e myhostname=subtlecoolness.com
% sudo postconf -e relayhost=smtp-server.austin.rr.com
Там! Теперь вы должны работать, postfix
и ваш веб-сервер будет отправлять электронные письма!
(Я написал пост в блоге об этом очень давно.)