Почему не отправляются письма на mail.ru
Раздел(ы): Домены и хостинг
Просмотры: 12714
Комментарии: 1
При смене хостинга столкнулся с проблемой, что не все письма отправленные с сервера доходят до адресатов. В частности пострадали пользователи mail.ru.
Конфигурация оборудования
Описанное недоразумение появилось у меня на виртуальном сервере от компании DigitalOcean в следующей конфигурации:
- OS — CentOS 6.4 x86_64
- Control Panel — VestaCP
- CMS — MaxSite
- PHP — 5.3
- MySQL — 5.1
- Mail Server — Exim 4.72
Забегая вперед скажу, что проблема не в программно-аппаратной начинке. А лишь в настройке некоторых параметров.
Как правильно настроить сервер чтобы уходила почта
В борьбе со СПАМом и нежелательными сообщениями почтовые серверы проверяют друг друга по многим параметрам на предмет «свой-чужой». Поэтому необходимо правильно произвести все настройки, чтобы не иметь проблем с доставкой сообщений.
PTR запись
В целях уменьшения объёма нежелательной корреспонденции (спама) многие серверы-получатели электронной почты могут проверять наличие PTR записи для хоста, с которого происходит отправка. Это так называемый обратный DNS (revers DNS). То есть когда какому-нибудь IP приводится в соответствие символьное имя.
В обычной DNS записи имени домена соответствует конкретный IP адрес. К примеру yandex.ru -> 77.88.21.11. PTR запись — это обратное соответствие 77.88.21.11 -> yandex.ru. Отсутствие PTR записи или неправильное ее значение снижает доверие к такому серверу.
Чтобы изменить PTR запись на хостинге DigitalOcean достаточно переименовать Droplet имя вашего сервера в панели управления.
Особо хочется отметить, что PTR запись настраивается на сервере и никаким боком не относится к DNS. Если такой опции нет в панели управления сервером, то необходимо просить хостера провести такую настройку. Проверить PTR запись можно утилитой nslookup
Hostname сервера
Необходимо привести в соответствие между собой имя сервера с которого отправляется почта и доменное имя. Для этого измените HOSTNAME сервера на имя домена, значение должно быть FQDN доменом. По простому говоря, если Вы зарегистрировали домен mydomain.com и используете это имя для хостинга на своем сервере, то и значение HOSTNAME должно быть mydomain.com. На CentOS это можно сделать так:
# hostname mydomain.com
Также следует внести изменения в файл /etc/sysconfig/network присвоив переменной HOSTNAME имя вашего домена:
NETWORKING=yes HOSTNAME=mydomain.com
Как Вы догадались значение HOSTNAME в обоих случаях и PTR запись должны быть одинаковыми и совпадать с записью A в NS серверах. Так же желательно добавить имя Вашего домена в файл /etc/hosts. [подробнее]
Спасибо! Переименование дроплета на океане помогло. Почта сразу стала переадресовываться на внешний ящик. Спасибо! Никогда бы не догадался!