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
и ваш веб-сервер будет отправлять электронные письма!
(Я написал пост в блоге об этом очень давно.)