Электронная почта: уведомления от серверов
Если в процессе доставки сообщений какой-то из почтовых 
серверов обнаруживает ошибку, он уведомляет отправителя соответствующим 
образом. Формат сообщения свободный, он различается у разных MTA, но 
принципиальных отличий нет: в любом случае это сообщение содержит 
информацию о том, какой сервер обнаружил ошибку, при взаимодействии с 
каким сервером и какая именно это ошибка. Далее несколько примеров 
сообщений от MTA Sendmail, который используется на серверах ООО 
"КРАФТ-С". Таким образом выделено само сообщение, таким образом выделены комментарии.
  Пример 1. Письмо не доставлено, доставка прекращена.
  Ниже заголовок сообщения, в поле From можно увидеть, какой именно сервер сформировал bounce-сообщение. В данном случае это relay1.hippo.ru.
  Subject: Returned mail: see transcript for details From: Mail Delivery Subsystem < MAILER-DAEMON@relay1.hippo.ru > To: test@kraft-s.ru Date: 24/01/18 12:27
  Далее
 идёт само сообщение. Эта фраза говорит о том, откуда relay1.hippo.ru 
получил это сообщение - myhost.kraft-s.ru [10.1.1.1]. Указаны имя хоста и
 IP-адрес. Имя хоста может отсутствовать, если оно не задано на 
DNS-сервере.
  The original message was received at Wed, 24 Jan 2018 12:27:40 +0400 from myhost.kraft-s.ru [10.1.1.1]
  Ниже
 сама ошибка, её тип, поясняющая фраза и E-Mail, обработка которого 
вызвала ошибку. В данном случае ошибка постоянная. Постоянными ошибками 
являются ошибки с кодом 5xx. Поясняющая фраза пишется в произвольной 
форме и зависит от предпочтений администратора почтового сервера, 
который выдал ошибку. Существует возможность поменять даже те фразы, 
которые вкомпилированы в код MTA.
     ----- The following addresses had permanent fatal errors ----- < test12345@mail.ru >    
 (reason: 550 Message was not accepted -- invalid mailbox.  Local 
mailbox test12345@mail.ru is unavailable: user is terminated)
  Далее
 представлен фрагмент протокола обмена между сервером, который 
сформировал это сообщение (relay1.hippo.ru) и сервером, с которым 
происходило соединение - mxs.mail.ru. Последовательностью ">>>"
 отмечена команда, переданная на mxs.mail.ru, последовательностью 
"<<<" - ответ mxs.mail.ru на эту команду.
     ----- Transcript of session follows ----- ... while talking to mxs.mail.ru.: >>> DATA <<<
 550 Message was not accepted -- invalid mailbox.  Local mailbox 
test12345@mail.ru is unavailable: user is terminated 554 5.0.0 Service unavailable
  То
 есть, сообщение "550 Message was not accepted -- invalid mailbox.  
Local mailbox test12345@mail.ru is unavailable: user is terminated" 
сформировано сервером mxs.mail.ru. Точную причину, соответственно, могут
 знать только ответственные за этот сервер, а остальные могут только 
догадываться, исходя из фразы-расшифровки. В данном случае всё 
достаточно очевидно переводится. Кроме этого, письмо содержит вложение 
либо с заголовком исходного сообщения, либо с исходным сообщением 
целиком.
 
  Пример 2. Письмо не доставлено, доставка будет продолжаться.
  Заголовок
 практически такой же, как и в предыдущем примере, но в теме 
присутствует информация о том, что это предупреждение, и за сколько не 
удалось отправить сообщение. 
  Subject: Warning: could not send message for past 4 hours From: Mail Delivery Subsystem < MAILER-DAEMON@relay1.hippo.ru > To: test@kraft-s.ru Date: 24/01/18 17:01
  В самом сообщении ещё раз подчёркивается, что это только предупреждение, и смысла в повтороной отправке нет:
      **********************************************     **      THIS IS A WARNING MESSAGE ONLY      **     **  YOU DO NOT NEED TO RESEND YOUR MESSAGE  **     **********************************************
  Точно так же, как в первом примере, указывается источник:
  The original message was received at Wed, 24 Jan 2018 12:19:30 +0400 from myhost.kraft-s.ru [10.1.1.1]
  Далее
 следует причина - невозможность соединения с сервером  example.com. 
Кроме того, указано время, в течение которого не получилось доставить 
сообщение (4 часа) и время, в течение которого будут осуществляться 
попытки доставки (5 суток).
     ----- Transcript of session follows ----- < test@example.com >... Deferred: Connection timed out with example.com. Warning: message still undelivered after 4 hours Will keep trying until message is 5 days old
  Время
 первого предупреждения, интервал повторов и время продолжения попыток 
регламентируются в RFC 5321 в виде рекомендаций и не являются строго 
выдержанными интервалами. В зависимости от индивидуальных настройек 
сервера, эти времена могут варьироваться в разумных пределах. Кроме 
того, эти интервалы могут быть изменены параметром Priority при 
формировании сообщения в почтовом клиенте. Вместо "Connection timed out" может быть "Connection refused by" - когда сервер отвечает закрытием соединения (например, за счёт настроек фарвола).
  Так
 же, подобная (временная) ошибка может быть вызвана и ответом 
принимающего сервера. В этом случае вид подсказок будет соответствовать 
примену 1, но ошибка будет с кодом 4xx, а не 5xx.
 
  Пример 3. Письмо не не доставлено, доставка прекращена (завершение примера 2).
  Сообщение
 из примера 2 пробыло в очереди 5 дней и удалено из неё. При этом 
формируется нижеследующее уведомление о прекращении попыток.
  Subject: Returned mail: see transcript for details From: Mail Delivery Subsystem < MAILER-DAEMON@relay1.hippo.ru > To: test@kraft-s.ru Date: 29/01/18 13:18
  The original message was received at Wed, 24 Jan 2018 12:19:30 +0400 from myhost.kraft-s.ru [10.1.1.1]
     ----- The following addresses had permanent fatal errors ----- < test@example.com >
     ----- Transcript of session follows ----- ... Deferred: Connection timed out with example.com. Message could not be delivered for 5 days Message will be deleted from queue
 
 
 
  
	 |