После анализаhttps://datatracker.ietf.org/doc/html/rfc5321У меня сложилось впечатление, что некоторые его фрагменты противоречат друг другу.
Для каждого получателя, которому не удалось отправить сообщение, ДОЛЖНО быть отправлено одно уведомление, содержащее список всех получателей, которым не удалось отправить сообщение, или отдельные уведомления. Для экономии времени обработки отправителем, по возможности ДОЛЖНО использоваться первое.
кажется, противоречит:
Адреса, которые не отображаются в разделе заголовка сообщения, могут отображаться в командах RCPT для SMTP-сервера по ряду причин. Две наиболее распространенные из них включают использование почтового адреса в качестве «расширителя списка» (один адрес, который разрешается в несколько адресов) и появление «слепых копий». Особенно, когда присутствует более одной команды RCPT, и чтобы избежать нарушения некоторых целей этих механизмов, клиенты и серверы SMTP НЕ ДОЛЖНЫ копировать полный набор аргументов команды RCPT в раздел заголовка, как часть полей заголовка трассировки или как информационные или поля заголовка частного расширения.
Они действительно противоречат друг другу или я что-то упускаю?
решение1
Различное обоснование самого сообщения и уведомлений относительно этого сообщения.
Часть, в которой указание неупомянутых получателей в заголовках противоречит цели, относится к сообщению, как оно передаетсяполучатели.
Уведомление о неудавшихся получателях возвращается обратноотправитель, который в какой-то момент должен был знать адреса всех получателей.
- Сообщать отправителю, что некоторые — даже не упомянутые в структуре сообщения — получатели не получили сообщение? Ладно.
- Сообщать получателям полный список других получателей, после того как адреса были намеренно не включены в структуру сообщения? Нехорошо.