После обновления почтового сервера на postfix 3.1 сообщения с некоторых серверов-получателей возвращаться с ошибкой Protocol error: host mail.example said: 250 2.1.5 Recipient OK (in reply to DATA command).
mail postfix/smtp[30149]: < : 220 All traffic and IP`s logging.
mail postfix/smtp[30149]: > : EHLO *мойсервер
mail postfix/smtp[30149]: < : 220 All traffic and IP`s logging.
mail postfix/smtp[30149]: server features: 0x1001 size 0
mail postfix/smtp[30149]: smtp_stream_setup: maxtime=300 enable_deadline=0
mail postfix/smtp[30149]: > : MAIL FROM:<отправитель@мойдомен>
mail postfix/smtp[30149]: smtp_stream_setup: maxtime=300 enable_deadline=0
mail postfix/smtp[30149]: < : 250-mail.*получатель Hello *мойсервер [ip], pleased to meet you
mail postfix/smtp[30149]: < : 250-ETRN
mail postfix/smtp[30149]: < : 250-AUTH LOGIN PLAIN
mail postfix/smtp[30149]: < : 250-ENHANCEDSTATUSCODES
mail postfix/smtp[30149]: < : 250-STARTTLS
mail postfix/smtp[30149]: < : 250 SIZE 25600000
mail postfix/smtp[30149]: > : RCPT TO:<получатель>
mail postfix/smtp[30149]: smtp_stream_setup: maxtime=300 enable_deadline=0
mail postfix/smtp[30149]: < : 250 2.1.0 Sender OK
mail postfix/smtp[30149]: > : DATA
mail postfix/smtp[30149]: smtp_stream_setup: maxtime=120 enable_deadline=0
mail postfix/smtp[30149]: < : 250 2.1.5 Recipient OK
937715404F9: to=<получатель>, relay=, delay=0.62, delays=0.03/0.01/0.18/0.4, dsn=5.5.0, status=bounced (Protocol error: host получатель[ip] said: 250 2.1.5 Recipient OK (in reply to DATA command))
mail postfix/smtp[30149]: > : RSET
mail postfix/smtp[30149]: smtp_stream_setup: maxtime=20 enable_deadline=0
mail postfix/smtp[30149]: < : 354 Please end data with <CR><LF>.<CR><LF>
mail postfix/smtp[30149]: > : QUIT
Судя по логам MAIL FROM, RCPT TO и DATA передаются, но из-за путаницы ответов сервера получаем следующую ситуацию -
на MAIL FROM получен ответ 250-mail .. списки команд
для RCPT TO получен 250 2.1.0 Sender OK (уже не ок)
для DATA вместо ожидаемого 354 получен 250 2.1.5 Recipient OK
После этого мой smtp-клиент завершает сессию, считая, что что-то пошло не так. Администратор на стороне одного из серверов сообщил, что им приходит письмо без авторизации — т.е. MAIL FROM они не получили.
Пробовал отключать PIPELINING, не помогло. Если пробовать отправить на проблемные хосты письмо через телнет, отправка срабатывает нормально - т.е. проблема всё-таки на моей стороне.
Собственно вопрос — можно ли на постфиксе как-то вклиниться в обработку ответов сервера, чтобы MAIL FROM начинал отправляться только когда на EHLO получен 250 ответ? Или есть какое-то более элегантное решение?