Настройка почты

Новости сообщества
Да, я понимаю, что сейчас это выглядит, как бложик сисадмина, но раз я этим уже занимаюсь, нужно поделиться своим опытом — авось кому время сэкономлю.

Может вы заметили, что после переезда на свой сервер, по почте не приходило никаких уведомлений. Это потому, что почты еще не было. Нужно исправлять это недоразумение.

exim4

Я планирую как отправлять, так и принимать почту и не очень хочу заниматься все этой почтовой ерундой (подпись сообщений, антиспам), поэтому прием почты я оставлю яндексу. Благо, у них есть сервис "почта для домена".

Система передачи сообщений будет примерно такая:
mini_sendmail (chroot)->exim4 (localhost) -> яндекс -> адресат.

Основной сервер
В качестве основного почтового сервера у меня стоит exim4 (стоял по умолчанию), ничего против него не имею, пусть так и остается. Итак, сначала настраиваем exim4. Я это делал по вот этой инструкции. Тут все просто и быстро.

PHP email chroot
Так как у меня php находится за chroot'ом, c почтой возникло куча проблем. Начитавшись много всего, я выбрал решение на основе статически собранного mini_sendmail'а.

Идея в том, что в chroot'е находится маленькая статически собранная которая подменяет собой sendmail. Когда php отправляет почту, этак программка передает письмо для отправки exim'y, а тот уже отправляет письмо как считает нужным.

По большей части делать нужно то, что написано вот тут.

Естественно, оно сразу не заработало. Выдавало segmentation fault. Пропущу пару часов страданий и расскажу решение, начало makefile нужно переписать вот так:
BINDIR =/usr/local/sbin
MANDIR =/usr/local/man
CC =gcc
CFLAGS =-Os
LDFLAGS =-g -static
LDLIBS =$(SYSV_LIBS)


После этого, добавляем в php.ini путь
sendmail_path = /usr/sbin/sendmail -t -i -f bsvi@tqfp.org


Для проверки, создаем файлик mail.php
<?php
var_dump(mail("bsvi@narod.ru", "PHP Test mail", "Hope this works! "));
?>


Запускаем его. Уряяяя, все работает.

Яндекс
Я держу основную свою почту на яндексе, поэтому буду им и пользоваться для сбора почты и в качесте web-интерфейса. Сообщаем о своем желании Яндексу, после чего заменяем MX и SPF записи в DNS. Естественно, нужно будет подождать часик, пока изменения дойдут до яндекса. Уря, все работает.

Самое классное насколько теперь просто добавлять ящики, буквально в три клика:
Новый почтовый ящик яндекс

Так как мой основной ящик — bsvi@narod.ru, я хочу, чтобы письма с bsvi@tqfp.org пересылались туда. И это тоже легко сделать, для этого в яндексе нужно зайти «Почта → Настройка → Сбор почты» и дописать вот такое:

Сбор почты на яндексе

Вуаля, теперь все валится в один ящик.

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.