Я получаю такие сообщения об ошибках, как это:
Jan 28 17:20:47 halk postfix/smtpd[29413]: NOQUEUE:
reject: RCPT from mail.m2osw.com[138.197.205.139]:
504 5.5.2 <SRS1=R3xB=m2osw.com==hj4N=ZL=lime.ocn.ne.jp=@com>:
Sender address rejected: need fully-qualified address;
from=<SRS1=R3xB=m2osw.com==hj4N=ZL=lime.ocn.ne.jp=@com>
to=<secret@valid.domain.tld> proto=ESMTP helo=<m2osw.com>
Я не уверен, что понимаю "электронный" адрес находится в угловых скобках:
SRS1=R3xB=m2osw.com==hj4N=ZL=lime.ocn.ne.jp=@com
На мой взгляд, это чушь, но, может быть, это форма конверта?
Исходный From выглядит так:
From: western union <"westernunion1."@lime.ocn.ne.jp>
(это чистая спам-электронная почта, но то же самое происходит и с обычным спамом.)
Насколько я знаю, моя установка и раньше работала нормально, но я обновил один из своих почтовых серверов до новейшего постфикса (ну, Ubuntu 16.04 вместо 14.04). Сервер архивации был обновлен некоторое время назад.
Эта ошибка возникает, когда я отправляю себе электронное письмо из Gmail. Затем Gmail получает сообщение о недоставке.
Настройка выглядит примерно так:
+------------------+ +------------------+
| | | |
| Client |--->| Main Server |
| | | |
+------------------+ +------------------+
|
v
+------------------+
| |
| Archive Server |
| |
+------------------+
На основном сервере электронная почта работает должным образом. Ошибка возникает, когда электронное письмо достигает сервера архива .
Есть ли что-то, что могло быть изменено, что "ломается" адрес электронной почты таким образом при пересылке с одного postfix MTA на другой?
Ладно, я нашел виновного. Эти «странные» адреса электронной почты начинаются с SRS, что указывает на поддержку SPIF, которую postfix
может использовать через postsrsd
. Есть четыре записи, которые автор демона postsrsd
предлагает сделать в вашем файле postfix / main.cf
:
sender_canonical_maps = tcp:localhost:10001
sender_canonical_classes = envelope_sender
recipient_canonical_maps = tcp:localhost:10002
recipient_canonical_classes= envelope_recipient,header_recipient
Очевидно, это генерирует конверт адреса электронной почты. Спецификация этого конверта:
SRS0+xxxx=yy=example.com=alice@yourdomain.org
В моем случае проблема заключалась в том, что имя домена после @
генерировалось динамически. Это означало взять полное имя хоста компьютера и удалить первое имя. Итак, если у меня в качестве имени хоста m2osw.com
, postsrsd
в конечном итоге использует com
в качестве имени домена. Другими словами, я бы получил адреса электронной почты, которые выглядели бы так:
...@com
Очевидно, @com
не является допустимым доменным именем.
Демон postsrsd
использует некоторые определения найдено в файле:
/etc/default/postsrsd
Там мы находим переменную с именем SRS_DOMAIN
. Установив для этой переменной правильное доменное имя:
SRS_DOMAIN=m2osw.com
Электронные письма будут конвертированы, как ожидалось, и ошибки исчезнут. (т.е. мы правильно установили эту настройку на нашем старом «основном сервере». Мы пропустили это при переносе.)
Я так не думаю, журнал, которым вы поделились, показывает, что все выглядит нормально и postfix работает нормально. Если вам нужно получить больше информации о том, что происходит, добавьте в main.cf:[12164 visible) следующее: Отклонение вызвано одной из следующих строк:
reject_non_fqdn_helo_hostname,
reject_non_fqdn_recipient
Надеюсь, это поможет