Все понятно, перманент еррор, в отлупе, который приходит к пользователю написано t_u@хххх.kiev.ua 26.09.2005 8:44 Отсутствуют разрешения для отправки сообщений данному получателю. Обратитесь за помощью к системному администратору. < ххх.ххх.com.ua #5.7.1 SMTP; 550 5.7.1 <poz@ххх.com.ua>... Command rejected>
Как потом выяснилось, с той стороны на сервере подвис антивирусный фильтр...
Вопрос главный - почему в этом случае письмо к пользователю обратно СРАЗУ приходит с отлупом, а не получает статус deffered. При чем бОльшая часть недоставленых писем, которые натыкаются просто на выключеные серваки честно ложатся в mqueue с DSN=4.0.0 deffered
Как пофиксить сие и сделать, чтобы даже при таком отлупе письмо все равно попадало в deffered?
5XX ты получаешь с той стороны. Т.ч. с твоей стороны все настроено правильно и в соответствии со стандартом - ты же не можешь прогнозировать истинную причину получения 5ХХ в каждом конкретном случае. Единственный вариант решить эту проблему - правильно отстроить поведение MTA+milter со стороны получателя. А в случае выключенного сервера с той стороны сказать тебе что-то просто некому. Тут уже твой МТА ставит 4ХХ, опять же согласно стандарту.
В ответ на: Да это все понятно... Мне интересно иное - можно ли сообщения с 5.х.х загонять в статус дефферед, а не выдавать сразу пользователю отлуп?
Можно (в крайнем случае, правкой исходников). Вот только тогда у тебя быстро накопится очередь заведомо дохлых писем с кодом 500, которые твой сервер будет пытаться повторно отправить с упорством идиота. Тебе же не один сервер присылает 500-е коды Так что единственный по жизни правильный вариант - напрячь админа того сервера, чтобы он при зависании антивируса выдавал не 500, а 400.