RFC: 2505
Оригинал: Anti-Spam Recommendations for SMTP MTAs
Категория: Лучший современный опыт
Дата публикации:
Автор:
Перевод: Николай Малых

1.6. Коды возврата SMTP

Протокол SMTP поддерживает несколько классов кодов возврата (Return Code), описанных в работе [1]:

  • 5xx
  • Постоянный отказ (Permanent Negative Completion) — критическая ошибка (Fatal Error) — почтовая транзакция прерывается и сообщение возвращается отправителю.
  • 4xx
  • Временный отказ (Transient Negative Completion) — временная ошибка (Temporary Error) — почтовая транзакция возвращается в очередь для повторения попытки по истечении некоторого времени.
  • 2xx
  • Позитивный результат (Positive Completion) — показывает, что агент MTA принял на себя ответственность за дальнейшую доставку сообщения.

При использовании описанных в этом документе опций и методов следует принимать во внимание ряд аспектов:

  • Для некоторых событий типа "Denied - you're on the spammer's list" возврат кода 5xx может быть корректным действием, поскольку при этом почтовая сессия прерывается (если спамер не играет по правилам SMTP, он может поместить сообщение обратно в очередь на отправку или перебросить на другой хост в зависимости от возвращенного кода). Однако возврат кода 5xx в результате конфигурационной ошибки может приводить к отказу в приеме легитимной почты.
  • Следовательно, мы предлагаем в большинстве случаев возвращать коды 4xx. Поскольку такой код говорит о исправимой ошибке, почта заново помещается в очередь на стороне отправителя и мы получаем некоторое время на обнаружение и исправление конфигурационных ошибок и не отказываемся категорически от приема сообщения (например, отказ в трансляции почты для домена, в котором MX-запись указывает на данный транслятор).
  • Возврат кода 4xx спамеру также приводит к сохранению сообщения в почтовой очереди и, если спамер использует свой хост, может заставить этого спамера образумиться — ведь размеры диска не бесконечны. С другой стороны, если спамер пользуется открытым транслятором, переполнение очереди может послужить владельцам хоста сигналом о непорядке в их системе.
  • Однако при возврате кодов 4xx может возникать нетривиальный случай взаимодействия с записями MX. Если домен адресата имеет несколько MX-записей и хост с наиболее предпочтительным значением MX возвращает код 451, передающий сообщение хост может (и часто делает это реально) попытаться использовать хост со следующим значением MX.
  • Если второй хост не использует в точности такой же список для отказа в приеме почты, он может принять сообщение и далее будет пересылать его транслятору с минимальным значением MX, который ранее отказался принимать сообщение на основе анализа "MAIL From:". В результате будет заполняться почтовая очередь на дружественном хосте, обеспечивающем адресату дополнительную запись MXt.
  • Наконец, можно возвратить код 2xx, не предпринимая усилий по дальнейшей доставке спама (например, отправив сообщение в /dev/null). Очевидно, что это является нарушением RFC821 и таким способом не следует пользоваться без аккуратного рассмотрения всех аспектов. Вместо отбрасывания почты вслепую можно заново помещать ее в очередь и вручную (или автоматически) проверять является она спамом или легитимной почтой, после чего отбрасывать или пересылать дальше.

1.7. Списки рассылок

Агент MTA может также поддерживать списки рассылок (mailing list) и отправлять по этим спискам сообщения множеству адресатов. Требуется обеспечить проверку отправителя и предотвращение возможности рассылки спама по таким спискам. Механизмы в данном случае могут существенно отличаться от тех, которые применяются для отдельных сообщений и отдельных пользователей. Рассмотрение этих механизмов выходит за пределы данного документа.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.