Настройка электронной почты для localhost

0

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

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

jarryd
источник
1
Помогло бы узнать, какую ОС вы используете ...
ск.
OSX, работает мампа.
Джаррид
1
За более чем десятилетие было выпущено восемь основных выпусков OS X. Пожалуйста, будьте более конкретны.
Даниэль Бек

Ответы:

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

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

Уильям Джексон
источник