Ошибка разрешения DNS в почтовой очереди postfix
mailq дает мне эту ошибку:
F2E7B32820F3 3549 Wed Feb 17 12:15:50 "www-data@info"@hivemind.ru
(host mxs.mail.ru[94.100.180.150] said: 421 Problem resolving DNS for domain info"@hivemind.ru (Domain name is syntactically invalid) (in reply to MAIL FROM command))
Я вижу сообщения такого типа, генерируемые тем же программным обеспечением (старый форум SMF), но я не могу найти точную часть. Поиск в интернете не дает результатов.
Программное обеспечение форума, кажется, генерирует сообщение правильно:
postcat -vq 0492D3282068
postcat: name_mask: all
postcat: inet_addr_local: configured 2 IPv4 addresses
postcat: inet_addr_local: configured 2 IPv6 addresses
*** ENVELOPE RECORDS maildrop/0492D3282068 ***
message_arrival_time: Sun Feb 21 15:01:55 2016
named_attribute: rewrite_context=local
sender_fullname: www-data
sender: www-data
*** MESSAGE CONTENTS maildrop/0492D3282068 ***
regular_text: To: test@example.com
regular_text: Subject: =?UTF-8?B?0JTQvtCx0YDQviDQv9C+0LbQsNC70L7QstCw0YLRjCDQvdCwINGE0L7RgNGD0LwgUFNZVFJJQkU=?=
regular_text: X-PHP-Originating-Script: 0:Subs-Post.php
regular_text: From: "PSYTRIBE" <info@psytribe.ru>
regular_text: Return-Path: info@psytribe.ru
regular_text: Date: Sun, 21 Feb 2016 12:01:54 -0000
regular_text: X-Mailer: SMF
regular_text: Mime-Version: 1.0
regular_text: Content-Type: multipart/alternative; boundary="SMF-e8a857e57a7c03288f525582f6bdb280"
regular_text: Content-Transfer-Encoding: 7bit
Как я могу понять, где я должен искать ошибку?
2 ответа
Возможно, в вашей настройке есть три разные вещи. Вот мое лучшее предположение относительно того, что произошло.
- Сервер никогда не был настроен с полным доменным именем и имеет только имя
info
, - Электронная почта генерируется пользователем
www-data
, - Поскольку никакой другой адрес электронной почты не был указан, он автоматически создается путем объединения имени пользователя и имени хоста.
- Созданный адрес электронной почты на данный момент
www-data@info
, что неверно (если вы не контролируетеinfo
TLD и настроили запись MX непосредственно в TLD, что не так). - Этот адрес электронной почты передается другому программному обеспечению, которое принимает либо полный адрес электронной почты, либо просто имя пользователя.
- Адрес электронной почты анализируется, чтобы решить, что это только имя пользователя, а не полный адрес электронной почты.
- Имя пользователя объединяется с именем домена, которое отличается от имени хоста, используемого предыдущим программным обеспечением. Так как
www-data@info
Предполагается, что это имя пользователя, и оно содержит@
характер, он указан в соответствии с соответствующими RFC. Это означает, что адрес электронной почты, отправленный по проводам, будет выглядеть<"www-data@info"@hivemind.ru>
, Это синтаксически верно, но, вероятно, не то, что вы хотели. - Следующая часть программного обеспечения, анализирующая этот адрес, содержит ошибки и не анализирует его в соответствии с RFC. Неправильно считает первым
@
отделяет локальную часть от домена, хотя первый@
в кавычках.
Вот три вещи, которые пошли не так:
- Сначала доменное имя
info
был использован, а не предполагаемый домен. - Позже некоторое программное обеспечение использует эвристику, чтобы решить, был ли ему дан полный адрес или только локальная часть, оно приходит к другому выводу, чем предполагалось программным обеспечением, которое произвело этот ввод.
- Ошибка в синтаксическом анализаторе, которая не понимает строку в кавычках, приводит к неправильному отклонению домена как недействительного.
RFC 2821 рекомендует не использовать адреса, которые требуют цитирования. И ваш сценарий показывает, почему это разумно рекомендовать против такой практики.
Хотя приведенное выше определение для Local-part является относительно допустимым, для максимальной функциональной совместимости хосту, который ожидает получения почты, СЛЕДУЕТ избегать определения почтовых ящиков, где Local-часть требует (или использует) форму Quoted-string или где Local-part имеет значение case - чувствительный
Вы на самом деле не собирались использовать цитирование в первую очередь. Это произошло только из-за неправильной настройки программного обеспечения в начале процесса. Вам нужно вернуться назад в потоке данных, чтобы найти, где info
был неправильно использован в качестве имени домена в первую очередь и исправить это.
Не совсем понятно, о чем вы спрашиваете, так как сообщение об ошибке довольно ясно... Адрес:
"www-data@info"@hivemind.ru
не действует Он анализируется как имя пользователя www-data и информация о доменном имени "@hivemind.ru, но это недопустимое доменное имя.
Из того, что вы опубликовали, невозможно определить, почему ваше ПО SMF пытается отправить на этот адрес.