RFC: 5321
Оригинал: Simple Mail Transfer Protocol
Предыдущие версии: RFC 772, RFC 780, RFC 788, RFC 821, RFC 974, RFC 1425, RFC 1651, RFC 1869, RFC 2821
Категория: Проект стандарта
Дата публикации:
Автор:
Перевод: Николай Малых
4.5.3.1.9. Трактовка выхода за пределы

Ошибки, связанные с выходом за допустимые пределы, приводят к передаче соответствующих откликов:

500 Line too long — слишком длинная строка
501 Path too long — слишком длинный путь
452 Too many recipients — слишком много получателей (см. ниже)
552 Too much mail data — слишком много почтовых данных.
4.5.3.1.10. Слишком много получателей

В RFC 821 [1] некорректно указано, что сервер SMTP в случаях превышения числа команд RCPT (too many recipients) генерирует отклик с кодом 552. Корректным кодом для таких откликов является 452. Клиентам следует трактовать код 552 в таких случаях как временную проблему, а не постоянную, чтобы описанная ниже логика могла работать.

Когда соответствующий спецификации SMTP сервер сталкивается с такой проблемой, он имеет по крайней мере 100 принятых команд RCPT в своем буфере получателей. Если сервер способен принять сообщение, из клиентской очереди будет удалено по крайней мере 100 адресов. Когда клиент предпримет новую попытку передачи адресов, для которых был получен отклик 452, сервер SMTP сможет поместить в буфер получателей по крайней мере 100 адресов. Каждая повторная попытка будет обеспечивать передачу сообщения по крайней мере сотне адресатов.

Если сервер SMTP имеет предел для числа команд RCPT и этот предел превышен, сервер должен использовать отклик с кодом 452 (но клиенту следует быть готовым и к получению кода 552, как было указано выше). Если ограничения сервера заданы правилами, он может использовать отклик с кодом 5yz. В частности, если задача состоит в том, чтобы запретить передачу сообщений с числом получателей, превышающим заданное для сайта значение, а не просто ограничить число адресатов для данной почтовой транзакции, разумно будет возвращать отклик 503 на любую команду DATA, полученную после отклика 452 (или 552), или просто возвращать код 503 после команды DATA без предшествующего негативного отклика.

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