Имеется сайт крутящийся на сервере под управлением Debian 6, для обработки входящей почты к домену подключен Gmail (Google Apps).
Требуется установить и настроить SMTP сервер для отправки почты скриптами сайта.
1) Устанавливаем SMTP сервер Exim4
apt-get install exim4
2) Настраиваем Exim4
dpkg-reconfigure exim4-config
Настройки Exim4:
- Выбираем первый вариант: Internet site.
- Вводим домен сайта, у него должен быть такой же IP как у сервера с exim4.
- Вводим IP 127.0.0.1, т.к. отправлять почту будем только с этого севера.
- Оставляем пустым, т.к. не собираемся принимать почту.
- Оставляем пустым, т.к. не собираемся принимать почту.
- Оставляем пустым, т.к. не собираемся принимать почту.
- Отвечаем No.
- Выбираем var/mail.
- Отвечаем No.
3) Настраиваем отправку писем на Gmail (Google Apps)
Чтобы Exim не считал все email’ы нашего домена локальными, а отправлял их на подключенный к нашему домену Gmail (Google Apps), закомментируем в файле /etc/exim4/exim4.conf.template строчку:
domains =! +local_domains
Таких строк в файле несколько, искать нужно вот такой блок:
dnslookup: debug_print = «R: dnslookup for $local_part@$domain» driver = dnslookup #domains =! +local_domains transport = remote_smtp
4) Настраиваем SPF
Чтобы наши письма не уходили в спам, добавить в DNS зону домена текстовую запись:
v=spf1 a mx ptr include:_spf.google.com ~all
Где:
v=spf1 — версия SPF;
a — разрешает отправлять почту с IP, указанного в A-записи домена;
mx — разрешает отправлять почту с IP, указанных в MX-записях домена;
ptr — разрешает отправлять почту с IP, PTR-запись которых содержит ваш домен (т.е. сам домен и поддомены);
include:_spf.google.com — разрешает отправлять почту Gmail;
~all — указывает, что всё остальное спам.
5) Отключаем IPv6
При наличии IPv6, Exim отправлять почту с него, мы этого не хотим, поэтому в файле /etc/exim4/exim4.conf.template добавляем строку
disable_ipv6 = true
6) Проверяем работу Exim4
echo "Текст письма" | mail -s "Тема письма" my_email@ya.ru
7) Укажем PHP явно путь к Exim4
В файле php.ini прописываем значение для sendmail_path
sendmail_path = /usr/sbin/exim4 -t
Источники: sharm-blog.ru, valera.ws
Комментарии ()