Введение
Автоматическое сообщение от почтовой системы.
A bounce message or just "bounce" is an automated message from an email system, informing the sender of a previous message that the message has not been delivered (or some other delivery problem occurred). The original message is said to have "bounced". This feedback may be immediate (some of the causes described here) or, if the sending system can retry, may arrive days later after these retries end. More formal terms for bounce message include "Non Delivery Report" or "Non Delivery Receipt" (NDR), [Failed] "Delivery Status Notification" (DSN) message, or a "Non Delivery Notification" (NDN).
Сообщение об ошибке доставки, или просто "отскок", – это автоматическое сообщение от почтовой системы, информирующее отправителя предыдущего сообщения о том, что сообщение не было доставлено (или возникла другая проблема с доставкой). Говорят, что оригинальное сообщение "отскочило". Такая обратная связь может быть немедленной (некоторые из описанных здесь причин) или, если система отправки может повторить попытку, может прийти через несколько дней после завершения этих повторных попыток. Более формальные термины для сообщения об ошибке доставки включают "Отчёт о недоставке" или "Квитанция о недоставке" (NDR), сообщение [Неудачное] "Уведомление о статусе доставки" (DSN) или "Уведомление о недоставке" (NDN).
A bounce message or just "bounce" is an automated message from an email system, informing the sender of a previous message that the message has not been delivered (or some other delivery problem occurred). The original message is said to have "bounced". This feedback may be immediate (some of the causes described here) or, if the sending system can retry, may arrive days later after these retries end. More formal terms for bounce message include "Non Delivery Report" or "Non Delivery Receipt" (NDR), [Failed] "Delivery Status Notification" (DSN) message, or a "Non Delivery Notification" (NDN).
Классификация
Хотя SMTP – это зрелая технология, существующая уже более тридцати лет, её архитектура всё больше испытывает нагрузку как от обычного, так и от нежелательного трафика. Системы электронной почты были дополнены системами репутации, привязанными к фактическому отправителю сообщения, с целью, чтобы почтовые серверы получателей отклоняли письма, в которых используется поддельный адрес отправителя в протоколе. В связи с этим были выделены два типа возвратов писем: постоянные (hard bounces) и временные (soft bounces). Оба типа влияют на IP-репутацию отправителя, поскольку провайдеры услуг электронной почты (ESP) учитывают общий процент возвратов при принятии решения о доставке письма во входящие сообщения пользователя. Вкратце, общий процент возвратов рассчитывается как сумма процентов постоянных и временных возвратов.
Твердые отпрыски
Жесткие отказы являются постоянными и сильнее вредят репутации IP-адреса отправителя. Жесткий отказ происходит, когда почтовый сервер отправителя определяет высокую вероятность недоступности получателя и сохранения этой недоступности. Причины жестких отказов могут быть следующими: неверный идентификатор/неверный домен (например, опечатка в адресе электронной почты или доменном имени) или прекращение приема электронной почты сервером получателя. В этом случае обязательным является удаление адресов электронной почты, с которых приходят отказы.
Мягкие отскоки
Мягкие отскоки временны. Сообщение, получившее мягкий отскок, может быть повторно отправлено позднее. Мягкие отскоки возникают, когда у получателя электронной почты переполнен почтовый ящик и, следовательно, нет места для хранения нового письма, или достигнут лимит на размер принимаемых сообщений. Другой причиной мягкого отскока может быть блокировка отправителя получателем, пометка его как "спам" или внесение в чёрный список. Кроме того, временная приостановка работы почтового ящика получателя или временная ошибка на сервере также могут вызывать мягкие отскоки.
Ошибки доставки
Ошибки могут возникать на различных этапах доставки почты. Отправитель иногда может получить уведомление о недоставке от своего почтового сервера, сообщающее о невозможности отправки сообщения, либо от почтового сервера получателя, сообщающее, что, хотя сообщение было принято, доставить его указанному пользователю не удалось. Когда сервер принимает сообщение для доставки, он также берет на себя ответственность за отправку уведомления о недоставке в случае сбоя доставки.
Отскакивает из-за недостатка дискового пространства
Когда электронное письмо приходит на сервер назначения для адреса (например, mymail.example, при отправке на alice@mymail.example), почтовый демон может оказаться не в состоянии поместить сообщение в почтовый ящик указанного пользователя, если на жестком диске сервера недостаточно свободного места.
Отскакивает из-за недоступного пункта назначения
При отправке электронного письма служба, с которой оно отправляется, может не суметь доставить его по адресу назначения. В этом случае отправитель получит уведомление о недоставке от своего почтового сервера. Наиболее распространенные причины, по которым почтовые серверы не могут достичь адреса назначения:
Невозможно разрешить адрес назначения, например, если доменное имя не существует. Невозможно установить соединение с адресом назначения, например, если IP-адрес не назначен серверу или сервер отключен.
Отскакивает от поддельного сообщения
Пользователи могут получать ошибочные уведомления о недоставке сообщений, которые они фактически не отправляли. Это особенно часто происходит в случае спама или вирусов электронной почты, когда спамер (отправитель) подделывает сообщение для другого пользователя (предназначенного получателя спама), а также подменяет адрес отправителя, указывая третьего пользователя. Если сообщение не может быть доставлено предполагаемому получателю, уведомление о недоставке будет отправлено третьему пользователю, а не спамеру. Это явление называется обратным рассеянием (backscatter).
Другие причины
Если бы почтовый сервер знал, что сообщение не будет доставлено (например, если у Джилл не было бы учетной записи пользователя на этом сервере), он бы изначально не принял сообщение и, следовательно, не отправил бы уведомление о недоставке. Вместо этого он бы отклонил сообщение с кодом ошибки SMTP. В этом случае почтовый сервер Джека (на store.example) был бы обязан создать и отправить уведомление о недоставке.
Терминология
Отскаки — это особая форма автоответчика. Автоматические ответы — это письма, отправленные программой, а не человеком, в ответ на полученное письмо и направленные на адрес отскакивания. Примерами других автоматических ответов являются уведомления об отсутствии, запросы-вызовы от фильтров спама, ответы от почтовых списков и отчеты о доставке. Эти другие автоматические ответы рассматриваются в RFC 3834: автоматические ответы должны отправляться по пути возврата, указанному в полученном письме, вызвавшем этот автоматический ответ, и обычно отправляются с пустым путем возврата; в противном случае автоответчики могут попасть в цикл взаимной отправки ответов. Путь возврата виден в доставленном письме как заголовок Return-Path, добавленный агентом доставки почты SMTP (MDA), который обычно объединен с агентом передачи почты (MTA). MDA просто копирует обратный путь из команды SMTP MAIL FROM в путь возврата. MDA также удаляет ложные заголовки Return-Path, добавленные другими MTA; этот заголовок обычно гарантированно отражает последний обратный путь, указанный в команде MAIL FROM. Сегодня эти пути обычно сводятся к обычным адресам электронной почты, поскольку старый метод маршрутизации SMTP по исходному адресу был упразднен в 1989 году; для получения исторической справки обратитесь к схеме переписывания отправителя (Sender Rewriting Scheme). Существует одна специальная форма пути: пустой путь MAIL FROM:<>, который используется для многих автоматических ответов и особенно для всех отскаков. В строгом смысле, отскаки, отправленные с непустым путем возврата, некорректны. RFC 3834 предлагает некоторые эвристики для выявления некорректных отскаков на основе локальной части (части слева от символа "@") адреса в непустом пути возврата и даже определяет заголовок письма Auto Submitted для идентификации автоматических ответов. Однако заголовок письма является частью данных письма (команда SMTP DATA), и MTA обычно не анализируют содержимое письма. Они работают с конвертом, который включает в себя адрес MAIL FROM (также известный как Return-Path, Envelope FROM или "обратный путь"), но не, например, RFC 2822 From в заголовке письма From. Эти детали важны для таких схем, как BATV. Оставшиеся отскаки с пустым путем возврата — это сообщения о невозможности доставки (NDR) или уведомления о статусе доставки (DSN). DSN можно запросить с помощью расширения службы SMTP, однако это не распространено. Явные запросы на детали сбоя доставки гораздо чаще реализуются с помощью переменного пути возврата конверта (VERP), в то время как явные запросы на них реализуются редко. NDR — это базовая функция SMTP. Как только MTA принял письмо для пересылки или доставки, он не может беззвучно удалить ("отбросить") его; он должен создать и отправить сообщение об отказе отправителю, если пересылка или доставка не удались.
Отскакивание против отторжения
За исключением MDA, все MTA пересылают почту другому MTA. Этот следующий MTA имеет право отклонить письмо с сообщением об ошибке SMTP, например, "неизвестный пользователь", "превышена квота" и т.п. В этом случае отправляющий MTA должен отправить уведомление о невозможности доставки, то есть проинформировать отправителя. Уведомление о невозможности доставки может быть сгенерировано и без отклоняющего MTA, или, как указано в RFC 5321:
"Если SMTP-сервер принял на себя задачу ретрансляции письма и впоследствии обнаруживает, что адрес назначения неверен или письмо не может быть доставлено по какой-либо другой причине, то он ДОЛЖЕН сформировать сообщение об уведомлении о недоставке и отправить его отправителю письма (как указано в обратном пути)." Это правило критически важно для SMTP: как следует из названия, это "простой" протокол, который не может надежно работать, если письма беззвучно пропадают в "черных дырах", поэтому уведомления о невозможности доставки необходимы для выявления и устранения проблем.
Непонятные сообщения
Сегодня, однако, часто можно получать преимущественно спам-сообщения, в которых обычно используются подделанные адреса обратной доставки (Return Paths). В таких случаях часто оказывается невозможным уведомить об этом отправителя через MTA, а отправка уведомления о недоставке на подделанный адрес обратной доставки может затронуть невинного получателя. Кроме того, существуют веские причины, по которым предпочтительнее беззвучно отбрасывать сообщение, а не отклонять его (тем более отправлять уведомление о недоставке):
Спам, отфильтрованный эвристически. Спам-фильтры несовершенны. Отклонение спама на основе фильтрации содержимого предоставляет спамерам возможность тестировать различные варианты, пока они не найдут контент, который проходит фильтр. Вирусы и черви. В большинстве случаев они рассылаются автоматически с зараженного компьютера. Поскольку уведомление о недоставке может содержать копию червя, это может способствовать его распространению. Повторно цитируем RFC 5321, раздел 6.2:
"Как обсуждается в разделах 7.8 и 7.9 ниже, отбрасывание почты без уведомления отправителя допустимо на практике. Однако это крайне рискованно и нарушает давнюю традицию и общественные ожидания, согласно которым почта либо доставляется, либо возвращается. Злоупотребление беззвучным отбрасыванием сообщений может легко подорвать доверие к надежности почтовых систем Интернета. Поэтому беззвучное отбрасывание сообщений следует рассматривать только в тех случаях, когда существует высокая уверенность в том, что сообщения являются серьезным мошенничеством или иным образом неприемлемыми." Отсутствие проверки отправителя – это неотъемлемый недостаток современного SMTP, в котором отсутствуют устаревшие маршруты источника, упомянутые ранее. Решение этой проблемы предлагается в различных инициативах, наиболее прямо – в BATV и SPF.