Я пытаюсь протестировать некоторый веб-код и запускаю его на локальном хосте. Как настроить электронную почту для localhost, чтобы код мог использовать функции сообщений php для отправки электронных писем?

Как мне это настроить, если мне нужно где-то получить место в Интернете и использовать этот почтовый сервер для отправки электронной почты с локального хоста?

1 ответ1

1

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

написал пост в блоге об этом очень давно.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .