Статусы ошибок PMTA / Решения

Ошибка доставки в логах: bounced 2020-05-10 15:02:52 mail@mail.ru 4.4.7 (delivery time expired)

Следствие: письма скидываются в bounce по причине истекло время попыток доставки. Если более простым языком — то Ваше письмо находилось в очереди доставки pmta дольше чем указано время периода доставки письма.
Решение: Как правило измените параметра bounce-after на более высокий период (предложен PMTA 4d12h — 4 дня 12 часов) исправит проблему.


Ошибка доставки в логах: ……….failed,5.3.4 (message too big for system),smtp;552 5.3.4 message too large,…….

Следствие: письма скидываются PMTA в bounce по причине превышения допустимого обьема
Решение: Измените размер письма. Обратите внимание ошибка может выдаваться как на обьем кода (строк) так и на общий «вес» письма (письмо, вложение, текстовая версия).


Ошибка Yandex: Error: «451 4.7.1 Sorry, the service is currently unavailable. Please come back later. 1546866816-xLgmf0vnZG-DZRSiFoX» while connected from domain.ru (00.00.000.000) to mx.yandex.ru (213.180.204.89)

Следствие: (временный) отказ  почтовой системы принимать письмо
Решение: убедитесь в отсутствии ошибок в конфигурации сервера, dns. Как правило такую ошибку получает PMTA на отправленное письмо:

  1. с отсутствующей dkim подписью
  2. с неверной dkim подписью
  3. не верном ptr
  4. ошибки в spf

Ошибка Mail: Error: «550 spam message rejected. Please visit http://help.mail.ru/notspam-support/id?c=u5CwlsJTGjcIczev8TxLgYP14fM6i39-kVxD5sMPhAEhAAAAXTQAAP_n9RQ~ or report details to abuse@corp.mail.ru. Error code: 6B090BB371A53C2AF377308814B3CF1F3E1F5837E7F8B3AE6435C9101840FC3. ID: 000000210000345D14F5E7FF.» while connected from domain.ru (00.00.000.000) to mxs.mail.ru

Следствие: Ваше письмо отклонено по причине СПАМ
Решение: ошибка многогранна, описать решение возможно (весь наш сайт в разделах рекомендаций), искать решение в областях:

  1. доберусь распишу…. 🙂

Ошибка: StatusDnsQueryFailed resolving domain

Следствие: (дословный перевод англ.) Эта ошибка указывает на то, что DNS-запрос для домена не может быть завершен. Это может быть вызвано несколькими причинами, а именно тайм-аутами, когда PowerMTA пытается установить соединение с вашим локальным DNS-сервером, но, скорее всего, тайм-аутами на самом локальном DNS-сервере при попытке установить соединение с другими DNS-серверами.

Решение: Мы не стали вникать в источник проблемы, и просто привели свой файл /etc/resolv.conf к представленному ниже виду, что исключило повтор ошибок на наших серверах:

option timeout:1
option rotate
domain domain.ru
nameserver 77.88.8.8
nameserver 8.8.8.8
nameserver 8.8.4.4
search domain.ru

В некоторых ОС при перезагрузке resolv.conf может быть перезаписан в исходное состояние.

Запретить перезапись Вы можете следующей командой

chattr +i /etc/resolv.conf
reboot

Так же рекомендуем убедиться в корректности общения Вашего сервера с сервером принимающей стороны:

Проверим DNS маршрутизацию до сервера и проверку его доступности (к примеру mail.ru)
pmta resolve --connect mail.ru

Querying 77.88.8.8 over UDP about MX mail.ru
Read response from 77.88.8.8
answers: ttl=288
mail.ru. 288 IN MX 10 mxs.mail.ru.

Querying 77.88.8.8 over UDP about A mxs.mail.ru
Read response from 77.88.8.8
answers: ttl=32
mxs.mail.ru. 32 IN A 94.100.180.104
mxs.mail.ru. 32 IN A 94.100.180.31

status = StatusOk
pref host name IP addresses
—- ———— —————————-
10 mxs.mail.ru 94.100.180.104 94.100.180.31

connecting from localhost (0.0.0.0) to mxs.mail.ru (94.100.180.104)
connected from 31.148.99.253:59569
>>> 220 mxs.mail.ru ESMTP ready
<<< EHLO localhost
>>> 250-mxs.mail.ru
>>> 250-SIZE 73400320
>>> 250-8BITMIME
>>> 250 STARTTLS
<<< STARTTLS
>>> 220 2.0.0 Start TLS
TLSv1.2 connected with 256-bit ECDHE-RSA-AES256-GCM-SHA384
Cert: /C=RU/L=Moscow/O=LLC Mail.Ru/OU=IT/CN=*.mail.ru; issuer=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=GeoTrust RSA CA 2018; verified=no
<<< EHLO localhost
>>> 250-mxs.mail.ru
>>> 250-SIZE 73400320
>>> 250 8BITMIME
<<< QUIT
>>> 221 2.0.0 Bye
closed mxs.mail.ru (94.100.180.104) in=180 out=48


— pmta имеет команду
resolve – с её помощью это всё можно сделать одним действием:

В примере выше можно раскрыть информацию о маршрутизации для домена mail.ru.
Команда перечислила два почтовых узла (mxs.mail.ru. 94.100.180.104 и
mxs.mail.ru 94.100.180.31), все с уровнем предпочтения 10, и каждый из них
имеет свой собственный IP-адрес. Параметр —connect указывает, что pmta пытается подключиться к почтовым серверам (что и было сделано в итоге, с «mxs.mail.ru (94.100.180.104)»).

 

Теперь убедимся готов ли принять наше письмо почтовый сервер.

Трассировка передачи (к примеру на mail.ru)

Опции: pmta trace —log-data —log-resolution —to-log —retry-recipients —source-ip=ip domain/vmta

Даёт PMTA команду открыть соединение с указанным доменом и осуществить попытку доставки сообщений из его очереди.  Если используется параметр —to-log, то будет произведена запись лога в файл конфигурации, перезагрузка конфигурации, планировка вызова и отмена всех этих изменений после завершения отладки.
По умолчанию, записываются только SMTP-команды и ответы. Результат этой команды можно
затем найти в файле логов.

Параметры:

—log-data
Включает запись передачи данных, как параметр log-data в файле конфигурации.
—log-resolution
Включает запись раскрытых DNS-данных, как параметр log-resolution в файле конфигурации.
—to-log
Включает запись трассировки в файл лога
—retry-recipients
Немедленно ставит в очередь отправки все письма для получателей в очереди, которые находятся в корзине ожидания переотправки.
—source-ip
Указывает IP-адрес источника, который будет использоваться для попыток соединения из VirtualMTA с несколькими smtp-source-hosts, настроенными для этой VMTA.
domain[/vmta]
Имя очереди(ей) для отображения, в формате domain[/vmta], где domain это имя домена
назначения, а vmta – это VirtualMTA. Если параметр отсутствует, для обоих значений будет
установлен подстановочный знак (то есть */*), и будут показаны все очереди.

pmta trace mail.ru

2019-01-16 17:44:39 starting mail.ru/{default}
2019-01-16 17:44:39 connecting from c-premier.ru (0.0.0.0) to mxs.mail.ru (94.100.180.104)
2019-01-16 17:44:39 connected from 31.148.99.253:50452
2019-01-16 17:44:39 >>> 220 mxs.mail.ru ESMTP ready
2019-01-16 17:44:39 <<< EHLO c-premier.ru
2019-01-16 17:44:39 >>> 250-mxs.mail.ru
2019-01-16 17:44:39 >>> 250-SIZE 73400320
2019-01-16 17:44:39 >>> 250-8BITMIME
2019-01-16 17:44:39 >>> 250 STARTTLS
2019-01-16 17:44:39 <<< STARTTLS
2019-01-16 17:44:39 >>> 220 2.0.0 Start TLS
2019-01-16 17:44:39 tls:TLSv1.2 connected with 256-bit ECDHE-RSA-AES256-GCM-SHA384
2019-01-16 17:44:39 tls:Cert: /C=RU/L=Moscow/O=LLC Mail.Ru/OU=IT/CN=*.mail.ru; issuer=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=GeoTrust RSA CA 2018; verified=no
2019-01-16 17:44:39 <<< EHLO c-premier.ru
2019-01-16 17:44:39 >>> 250-mxs.mail.ru
2019-01-16 17:44:39 >>> 250-SIZE 73400320
2019-01-16 17:44:39 >>> 250 8BITMIME
2019-01-16 17:44:39 <<< QUIT
2019-01-16 17:44:39 >>> 221 2.0.0 Bye
2019-01-16 17:44:39 closed mxs.mail.ru (94.100.180.104) in=180 out=54
2019-01-16 17:44:39 done mail.ru/{default}

Как мы видим общение с mail.ru нашего сервера проходит в допустимых пределах.

Обратите внимание что такая ошибка так же присутствует при ошибках «общения» сервера получателя и отправителя при отправке письма.


Ошибка: Timed out, status = ETIMEDOUT while connecting from domain.ru (00.00.000.000) to mail.domrnklienta.ru (00.00.000.000)

Следствие: Причин множество, все они вызваны отказом или отсутствием возможности подключения к серверу получателя. Как правило в большинстве случаев — ошибка возникает из за не возможности подключения к порту

Решение: Проверяем pmta resolve —connect mail.domainklienta.ru и pmta trace mail.domainklienta.ru в одном из логов Мы увидим с Вами чем вызвана ошибка. 

Команду эти Вы можете вводить в консоли PMTA domain.ru:1001/command

В нашем случае теста — ошибка была в доступности mx получателя

trace mail.domainklienta.ru

2019-01-17 15:56:28 starting mail.domainklienta.ru/{default}
2019-01-17 15:56:28 bounce-upon-no-mx set for queue, no MX records found
2019-01-17 15:56:28 done mail.bskmalt.ru/{default}

Решение: удостоверьтесь в открытости Ваших портов подключения в /etc/sysconfig/iptables / блокировки порта провайдером / а так же корректности файла iptables


Ошибка: Running under user pmta (uid 995); group pmta (gid 991) 2020-06-04 15:38:56
Startup error: Unable to parse «domain.ru/VMTA….,VMTA-domain.serv» (in line 1442) in cold vmta counters file: comma missing

Следствие: PMTA не запускается (FAILED)

Решение: Откройте /var/lib/pmta/cold-vmtas.state и допишите недостающее значение в «поломанную» строку, по аналогии с предыдущими.

Пример: domain.ru/VMTA….,VMTA-domain.serv должна выглядеть domain.ru/VMTA….,VMTA-domain.server.ru,1,0


Ошибка: Не верная маршрутизация писем при выборе vmta из smtp шаблонов

Пример: мы имеем 2 маршрутизируемых smtp, выбор vmta сопоставляется по отправителю from в smtp шаблонах:
mail-from /@sert.msk.ru/ virtual-mta=sert.msk.ru
mail-from /@sert-msk.ru/ virtual-mta=sert-msk.ru

В данном примере PMTA V5+ пересылает часть трафика sert-msk.ru через vmta sert.msk.ru

Решение: Экранируйте (.) в домене для явного отличного разделения доменов from
mail-from /@sert\.msk.ru/ virtual-mta=sert.msk.ru
mail-from /@sert-msk.ru/ virtual-mta=sert-msk.ru


Ошибка Startup error: Error binding socket to 0.0.0.0:2500, status = EADDRINUSE

причина: порт 2500 уже занят другой программой

Решение:

для удобного просмотра программ прослушиваемых порты установим netstat.

Для cenos

Для Centos
$ yum install net-tools

На Fedora:
$ sudo dnf install net-tools

На Debian, Ubuntu:
$ sudo apt install net-tools

Проверим кто и какие порты прослушивает на нашем сервере

netstat -tulpn

вывод примерно такой

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      665/systemd-resolve 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1026/sshd           
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      2068/python3        
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1072/mysqld         
tcp6       0      0 :::22                   :::*                    LISTEN      1026/sshd           
tcp6       0      0 :::80                   :::*                    LISTEN      1062/apache2        
udp        0      0 127.0.0.53:53           0.0.0.0:*                           665/systemd-resolve 
udp        0      0 192.168.225.22:68       0.0.0.0:*                           647/systemd-network 
udp        0      0 192.168.225.53:68       0.0.0.0:*                           647/systemd-network 
udp6       0      0 fe80::a00:27ff:feff:546 :::*                                647/systemd-network 
udp6       0      0 fe80::a00:27ff:fe7e:546 :::*

Что бы проверить какая программа уже «висит» на нашем порту

netstat -tulpn | grep -w 2500

вывод

tcp        0      0 0.0.0.0:2500            0.0.0.0:*               LISTEN      942/exim

в этом случае нужно либо сменить порт для pmta в smtp-listener 0/0:2500, либо освободить порт для pmta.

для того что бы «освободить» порт до перезагрузки, «убьем» текущий процесс (942) на нем

kill 942

После того как Вы открыли и освободили порт для pmta, и получаете все ту же ошибку даже после перезагрузки сети — перезагрузите сервер.

0

my-mails.ru

Всегда On-Line

Авторизация
*
*
Регистрация
*
*
*
*
Генерация пароля
51276208