Настраиваем postfix в mac os x

Хочу поделиться азами настройки почтового сервера postfix, идущего в комплекте с MAC OS X для целей локальной разработки интернет-магазинов на Drupal и Ubercart.

Дано:
1. Ноутбук с mac os x
2. Стек Acquia Drupal (просто удобный, мне нравится)
3. Интернет-магазин с Ubercart

Нужно:
Научить интернет-магазин слать заказы через встроенный в Mac OS X почтовик Postfix с использованием внешнего SMTP-сервера.

Допустим у нас есть доступ к внешнему SMTP, требующему авторизацию и корректного адреса в поле FROM для отправляемых писем.
Допустим адрес нашего почтовика smtp.vneshnij.ru, логин и пароль для которого testlogin и testpasswd, а адрес address@test.ru.

Начнем настраивать 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
загрузили демона

Шаги не обязательные в общем-то, ну а чего почтовик будет постоянно в памяти болтаться.

Дальше настраиваем отправку писем через внешний smtp
% sudo postconf -e relayhost=smtp.vneshnij.ru

Учим постфикса подключаться с использованием авторизации
% sudo touch /etc/postfix/sasl_passwd
создаем файл для хранения логинов-паролей

% sudo echo smtp.vneshnij.ru testlogin:testpasswd >> /etc/postfix/sasl_passwd
записываем туда нужные

% sudo postconf -e smtp_sasl_auth_enable=yes
включаем в конфиге постфикса авторизацию при отправке сообщений

% sudo postconf -e smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
указываем откуда брать логины-пароли

%sudo postmap /etc/postfix/sasl_passwd
обрабатываем наш файлик командой postmap, дабы postfix его правильно подцепил

Перегружаем постфикс.

Кажется все, но давайте попробуем сделать заказ в нашем магазине на Ubercart.
И посмотреть что будет в логах почтовика.

Заказываем товар, а сами смотрим, что происходит в логах
%tail -f /var/log/mail.log

Видим, что постфикс подключается к нашему smtp-шнику, но получает отлуп, т.к. письма имеют в поле FROM странную конструкцию вида ad_apache@compvasi.pupkin

Друпал криво вызывает почтовую функцию php, поэтому поле from идет не заполненным, даже когда вы указали адрес магазина в настройках Ubercart.

Но это не беда, на помощь придет все тот же постфикс.
По методе, указанной выше пишем в конфиг /etc/postfix/main.cf:
строку smtp_generic_maps=hash:/etc/postfix/generic

В файлике /etc/postfix/generic пишем алиас для ad_apache@compvasi.pupkin
Примерно так:
ad_apache@compvasi.pupkin address@test.ru

Говорим
%sudo postmap /etc/postfix/generic

Затем перегружаем почтовик и видим чудную картину – все письма, отправленные через тестовый друпал, который крутится на нашем ноутбуке, отправляются через внешний smtp-сервер на любые внешние адреса.

Можно продолжать разработку! :)

За помощь в забарывании постфикса огромное спасибо камраду Boatsman-у :)

Еще на эту тему:
ideneb 1.5.1 на dell 1525 Вчера переустановил макось на своем ноуте (напоминаю, у меня dell 1525).Ставил ideneb 1.5, который правда пришлось сразу же патчить до...

Сколько стоит mac os x Мне тут стало интересно, а сколько стоит mac os x (leopard и новенький snow leopard).Провел небольшое исследование, результатами делюсь с...

Книга Mac OS X Leopard, основное руководство Давеча мне в руки попала неплохая книга по mac os x. Называется «Mac OS x Leopard, основное руководство«, за авторством...

Снимаем скриншоты в Mac OS X За что я полюбил мак, за те небольшие удобняшки, которые предоставляет система пользователю. Например, если нужно сделать снимок экрана, то...

Оставить комментарий

*
To prove you're a person (not a spam script), type the answer to the math equation shown in the picture. Click on the picture to hear an audio file of the equation.
Click to hear an audio file of the anti-spam equation