Чек-лист для успешной отправки почты и проверки доставки
Для дальнейших проверок потребуется следующее программное обеспечение:
-
Утилита host
- Debian/Ubuntu:
apt-get install bind9-host - CentOS:
yum install bind9-host
- Debian/Ubuntu:
-
Утилита telnet
- Debian/Ubuntu:
apt-get install telnet - CentOS:
yum install telnet
- Debian/Ubuntu:
MX-запись
MX-запись — это тип DNS-записи, предназначенный для регистрации почтовых серверов, использующих протокол SMTP. Эта запись отвечает за определение сервера, на который письмо должно быть доставлено почтовым агентом отправителя. Для одного домена может существовать несколько записей с разными приоритетами.
Вы можете проверить, работает ли почта локально или использует сторонний почтовый сервер, с помощью команды host:
host -t MX example.com
При работе с локальным почтовым сервером вывод будет выглядеть следующим образом:
Почта example.com обрабатывается сервером 10 mail.example.com.
Стоит отметить, что запись mail.example.com также может указывать на другой сервер. Кроме того, необходимо отметить, что mail.example.com должен быть существующей A-записью, указывающей на сервер, с которого вы отправляете почту.
Вы также можете выполнить эти команды для проверки:
host example.com
host mail.example.com
И сравнить IP-адреса, на которые указывают основной домен, в данном случае example.com, и mail.example.com.
MX-запись должна быть настроена, чтобы почтовые серверы могли принимать вашу почту.
Пример MX-записи:
Имя: example.com.
Тип: MX
Значение: mail.example.com.
Приоритет: 10
DKIM-подпись
С помощью FASTPANEL® DKIM-подпись можно получить в меню управления → разделе "Mail", нажав "DKIM" напротив нужного почтового домена

Со стороны DNS запись должна быть добавлена следующим образом:
Имя: dkim._domainkey
Тип: TXT
Значение: v=DKIM1; k=rsa; p=public_key
Вот пример корректной DKIM-записи
dkim._domainkey TXT v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpbBQ0T2xO3/SwziunIC/IFbsxBRub6WXiu8Kc2w7uB4GVw+SAB5wSEslDJbFXQRbdV9i/Duu8EQ9xik8dbqdLVyP4iAtw34g4j6QWKcfocgK4hEkwlPFff1dzUlNQONh2riNE5KVJXuWcizm8hub7nPnl36e7OnxiL0qIU7tT1QIDAQAB
Подробнее о DKIM можно узнать по адресу https://wikipedia.org/wiki/DomainKeys_Identified_Mail
SPF-запись
Наличие SPF-записи можно проверить, выполнив команду host. В этом случае команда будет выглядеть так:
host -t TXT example.com
С выводом вида:
example.com descriptive text "v=spf1 ip4:ipv4_of_your_server ip6:ipv6_of_your_server a mx ~all"
Обратите внимание, что ipv6 может отсутствовать в этой записи. В этом случае SPF-подпись будет выглядеть так:
example.com descriptive text "v=spf1 ip4:ipv4_of_your_server a mx ~all"
Необходимо отметить, что должна быть только одна SPF-запись
Со стороны DNS запись должна быть добавлена следующим образом:
Имя: example.com.
Type: TXT
Value:
v=spf1 ip4:ipv4_of_your_server ip6:ipv6_of_your_server a mx ~all
или (если ipv6 не используется)
v=spf1 ip4:ipv4_of_your_server a mx ~all
Например:
example.com TXT v=spf1 ip4:1.2.3.4 a mx ~all
Подробнее о SPF можно узнать по адресу https://wikipedia.org/wiki/Sender_Policy_Framework
DMARC-запись
В большинстве случаев значение записи DMARC будет одинаковым.
Со стороны DNS запись должна быть добавлена следующим образом:
Имя: _dmarc
Тип: TXT
Значение: v=DMARC1; p=none
Например:
_dmarc.example.com. TXT v=DMARC1; p=none
Подробнее о DMARC можно узнать по адресу https://wikipedia.org/wiki/DMARC
PTR-запись и hostname сервера
PTR-запись — это обратная DNS-запись, которая преобразует IP-адрес в имя. Основное назначение этой записи для почтового сервера — устранение большей части спама. Эта запись позволяет определить имя хоста, с которого приходит электронное письмо. Чаще всего PTR-запись содержит доменное имя, используемое на сервере.
PTR-запись связывает ip-адрес с именем хоста. Если PTR-запись указана некорректно, ваша почта будет отклоняться и не дойдёт до адресата.
Hostname должен быть указан как имя реального домена, указывающего на сервер, а PTR должен указывать на домен, который, в свою очередь, указывает на сервер.
Например, на вашем сервере есть домен example.com.
Выполнив команду:
host example.com
вы можете получить вывод:
У example.com адрес 1.2.3.4
Почта example.com обрабатывается сервером 10 mail.example.com.
Чтоб ы избежать возможных проблем, рекомендуется установить hostname и PTR-запись как существующий поддомен второго уровня, например mail.example.com
Доступность SMTP-портов
Некоторые хостинг-провайдеры закрывают возможность использования портов, которые применяются для отправки или получения почты. Порты для почтовых сервисов могут быть 25, 587, 465, 143 и 993.
Один из самых простых способов проверить доступность этих портов — использовать команду telnet.
Чтобы проверить входящее соединение со стороннего сервера
Выполните команду:
telnet ip_adress port
Например, если вы пытаетесь подключиться через telnet к порту 25 на 1.2.3.4, команда для выполнения будет такой:
telnet 1.2.3.4 25
Если соединение успешно, вы увидите вывод вида:
Попытка подключения к 1.2.3.4...
Подключено к 1.2.3.4.
Символ экранирования: '^]'.
Если соединение не удалось, вывод будет выглядеть так:
Подключение к 1.2.3.4 ...
Не удалось открыть подключение к хосту на порту some_port: ошибка подключения
Или:
telnet: Не удается подключиться к удаленному хосту: время ожидания подключения истекло