Почтовый сервер не работает в ispmanager 6
Симптомы
Не отправляются и не принимаются письма почтовым сервером в ispmanager 6.
Причины
- Используется устаревшая версия панели;
- Ограничена работа портов почтового сервера;
- В панели отсутствует почтовый домен;
- Отсутствуют MX-записи для домена;
- А-запись почтового домена имеет неверное значение;
- Для IP-адреса почтового сервера не указана PTR-запись;
- Отсутствуют TXT-записи с DKIM и DMARC для домена.
Решение
Устаревшая версия панели
Убедитесь, что панель обновлена до актуальной версии. Проверить текущую версию можно в нашем changelog.
Если версии не совпадают, обновите панель до актуальной версии.
Ограничена работа портов почтового сервера
Для корректной работы почтового сервера, на сервере должны быть доступны порты 110
, 143
, 993
, 995
, 587
, 465
и 25
.
Для проверки доступности портов для подключения можно с помощью утилит telnet и nmap.
Проверка через telnet
С помощью утилиты telnet можно проверить доступность портов с удаленной машины выполнив команду:
telnet <ip-адрес> <порт>
Например, чтобы проверить доступность входящих подключений (порт 110
) на почтовом сервере по адресу 172.31.97.58
, выполните следующую команду:
telnet 172.31.97.58 110
Если подключение к серверу по порту будет доступно, вывод команды будет следующим:
Trying 172.31.97.58...
Connected to 172.31.97.58.
Escape character is '^]'.
+OK Dovecot (Ubuntu) ready
При недоступности порта, команда вернет ошибку "Unable to connect to remote host: Connection refused".
Чтобы проверить доступность исходящих подключений, необходимо выполнять команду на вашем сервере, например:
telnet smtp.gmail.com 25
Если подключение успешно, команда вернет следующее:
Trying 142.251.1.109...
Connected to smtp.gmail.com.
Escape character is '^]'.
220 smtp.gmail.com ESMTP 2adb3069b0e04-52fd5c2931asm880471e87.240 - gsmtp
В случае недоступности порта, будет возвращена ошибка "Network is unreachable".
ОБРАТИТЕ ВНИМАНИЕ!
Адрес "smtp.gmail.com" можно использовать для проверки портов 25 и 465. Для проверки доступности портов 143 и 993, используйте адрес "imap.gmail.com".
Проверка через nmap
С помощью утилиты nmap можно проверить доступность портов с удаленной машины выполнив команду:
nmap <ip-адрес> -p<порт>
Например, чтобы проверить доступность входящих подключений (порт 110
) на почтовом сервере по адресу 172.31.97.58
, выполните следующую команду:
nmap 172.31.97.58 -p110
Если подключение к серверу по порту будет доступно, в выводе команды статус (колонка "STATE") будет указан как "open":
Starting Nmap 7.80 ( https://nmap.org ) at 2024-01-01 11:11 MSK
Nmap scan report for isptest.ru (172.31.97.58)
Host is up (0.014s latency).
PORT STATE SERVICE
110/tcp open pop3
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
В случае, если статус будет указан как "filtered", то это будет означать, что доступ к порту ограничен со стороны сервера. При статусе "closed" порт не прослушивается службой или доступ к нему ограничен на уровне сети со стороны сервера.
Также с помощью ключа -Pn
, который указывается вместо определенного порта, можно проверить статус всех прослушиваемых портов:
$ nmap 172.31.97.58 -Pn
Starting Nmap 7.80 ( https://nmap.org ) at 2024-01-01 11:11 MSK
Nmap scan report for isptest.ru (172.31.97.58)
Host is up (0.071s latency).
Not shown: 982 closed tcp ports (conn-refused)
PORT STATE SERVICE
21/tcp filtered ftp
22/tcp filtered ssh
25/tcp open smtp
53/tcp open domain
80/tcp open http
110/tcp open pop3
111/tcp open rpcbind
143/tcp open imap
443/tcp open https
465/tcp open smtps
587/tcp open submission
873/tcp open rsync
993/tcp open imaps
995/tcp open pop3s
1100/tcp filtered mctp
1500/tcp open vlsi-lm
3306/tcp open mysql
5432/tcp open postgresql
ОБРАТИТЕ ВНИМАНИЕ!
На Windows по умолчанию отсутствует утилита nmap - её можно установить с официального сайта.
В панели отсутствует почтовый домен
Убедитесь, что домен присутствует в разделе "Почта" - "Почтовые домены". Добавьте и настройте его при необходимости по инструкции из нашей документации.
Отсутствуют MX-записи для домена
Убедитесь, что MX-записи домена созданы и указывают на корректный адрес почтового сервера.
Как правило, MX-записи указывают на поддомен mail
. Например, для домена domain.com
, MX-запись будет указывать на адрес mail.domain.com
.
Проверка DNS-записей выполняется утилитой dig. Например, чтобы проверить MX-запись для домена domain.com
на DNS-серверах Google, выполните следующую команду:
dig MX domain.com @8.8.8.8 +short
Если записи существуют на DNS-сервере, то они будут отражены в выводе:
10 mail1.domain.com.
20 mail2.domain.com.
На Windows проверить DNS-записи можно с помощью утилиты nslookup.
А-запись почтового домена имеет неверное значение
Убедитесь, что А-запись для вашего почтового домена указывает на корректный IP-адрес.
Проверка DNS-записей выполняется утилитой dig. Например, чтобы проверить А-запись для домена mail.domain.com
на DNS-серверах Google, выполните следующую команду:
dig A domain.com @8.8.8.8 +short
Если запись существуют на DNS-сервере, то она будет отражена в выводе в виде IP-адреса - он должен совпадать с IP-адресом почтового сервера.
Для IP-адреса почтового сервера не указана PTR-запись
PTR-запись для IP-адреса почтового сервера должна соответствовать имени сервера (hostname).
ОБРАТИТЕ ВНИМАНИЕ!
PTR-запись создается на стороне владельца IP-адреса - зачастую владельцем IP-адреса является хостинг-провайдер.
Узнать имя вашего сервера можно с помощью команды hostname
. Если вы пользуетесь панелью ispmanager 6, имя сервера можно также увидеть в разделе "Настройки" - "Настройки системы".
Проверка DNS-записей выполняется утилитой dig. Например, чтобы проверить PTR-запись для IP-адреса 172.31.97.58
на DNS-серверах Google, выполните следующую команду:
dig -x 172.31.97.58 @8.8.8.8 +short
Если запись существует, команда вернет следующий вывод, в конце которого будет указано имя сервера, что указано в записи:
58.97.31.172.in-addr.arpa 3600 IN PTR example.com
Отсутствуют TXT-записи с DKIM и DMARC для домена
DMARC-запись определяет политику защиты почтового домена от спама и фишинговых писем.
DKIM-запись представляет собой ключ, по которому отправитель может быть идентифицирован. Также помогает в защите от спама и фишинга.
В панели ispmanager 6, чтобы сгенерировать обе записи, достаточно включить соответствующие опции в настройках почтового домена в разделе "Почта".
ОБРАТИТЕ ВНИМАНИЕ!
Для включения DKIM требуется установленный OpenDKIM в разделе "Конфигурация ПО" - "Почтовый сервер".
После включения опций будут сформированы соответствующие DNS-записи для домена в разделе "Управление DNS":
_dmarc.domain.com
- имя DMARC-записи;dkim._domainkey.domain.com
- имя DKIM-записи.
Учитывайте, что если ваш домен управляется на стороннем DNS-сервере, например на стороне регистратора, необходимо будет добавить записи на этом DNS-сервере.
Проверить работу почтового ящика можно с помощью сервиса Mail-Tester!