Вышло обновление 60: новый HTML-редактор, более удобная фильтрация событий. (Подробнее.)

Статусы писем

При просмотре статистики, настройке и анализе вебхуков, получении результатов отправки писем Unisender Go выдаёт статусы писем разной степени подробности. В этой статье описано, какие статусы бывают и как их обрабатывать.

 

Стандартные статусы

На верхнем уровне можно выделить 9 стандартных статусов письма. Именно этот стандартный статус приходит в вебхуке или выгружается методами event-dump/* в поле status:

  • sent — сообщение отправлено. Этот статус не позволяет понять, было ли доставлено сообщение, он всего лишь сообщает о факте прохождения письмом всех проверок на корректность и постановки сообщения в очередь на отправку.
  • delivered — сообщение успешно доставлено, т.е. принято сервером получателя. Позже этот статус может измениться на “opened”, “clicked”, “unsubscribed”, “subscribed” или “spam”.
  • opened — сообщение доставлено и зарегистрировано его прочтение. Может измениться на “clicked”, “unsubscribed”, “subscribed” или “spam”. Прочтения регистрируются только в случае, если в параметрах отправки письма был использован параметр track_read=1.
  • clicked — сообщение доставлено, прочитано и был зарегистрирован переход по одной из ссылок в письме. Может измениться на “unsubscribed”, “subscribed” или “spam”. Переходы по ссылкам регистрируются только в случае, если в параметрах отправки письма был использован параметр track_links=1.
  • unsubscribed — сообщение было доставлено получателю и прочитано им, но пользователь отписался по ссылке в письме или по ссылке в заголовке List-Unsubscribe. Может измениться “subscribed”.
  • subscribed — сообщение было доставлено получателю и прочитано им, но пользователь отписался, а потом снова подписался по ссылке в письме. Может измениться на “unsubscribed”.
  • soft_bounced — временная недоставка сообщения. Unisender Go продолжает попытки доставки в течение 2 суток. В случае успешной доставки письмо перейдёт в статус “delivered”, в случае неуспешной - в “hard_bounced”.
  • hard_bounced - доставка не удалась, попыток доставки больше не будет. Статус окончательный. Возможных причин неудачной доставки масса, для их анализа можно использовать текст ответа SMTP-сервера из поля delivery_info.destination_response или нашу внутреннюю классификацию ошибок из поля delivery_info.delivery_status, описанную ниже. ВАЖНО: hard_bounced не означает автоматически, что адресат не существует и не сможет получать сообщения в будущем - он означает, что вот это конкретное письмо не может быть доставлено. В зависимости от delivery_status причина может быть и в том, что адрес неправильный, и в блокировке от спама, и в том, что просто почтовый ящик получателя переполнен.
  • spam — сообщение доставлено, но было отмечено как "спам" самим получателем. Статус окончательный. Такая информация может быть получена только от доменов, поддерживающих соответствующие оповещения (используя технологию FBL), например: mail.ru, msn.com, outlook.com, hotmail.com, live.com, ukr.net, yahoo.com, aol.com.

 

Расширенные статусы

Если при установке вебхука методом webhook/set вы указали "delivery_info"=1, то в вебхуке вы будете дополнительно получать расширенный статус письма. Также этот расширенный статус доступен при выгрузке CSV событий методами event-dump/* или в разделе "Статистика", личного кабинета. Основываясь именно на этом расширенном статусе, мы даём классификацию ошибок в статистике недоставок.

Расширенные статусы мы получаем, в т.ч. основываясь на многолетнем анализе ответов SMTP-серверов - зачастую недостаточно смотреть только на код ошибки и даже на сообщение об ошибке, порой надо знать особенности конкретных mailbox-провайдеров, чтобы правильно интерпретировать их ответ. И поскольку поведение mailbox-провайдеров меняется, есть вероятность и изменения интерпретации текущих расширенных статусов, и даже появления новых. Поэтому мы не приводим здесь исчерпывающий список расширенных статусов и не гарантируем, что список этих статусов останется фиксированным - но гарантируем, что семантический смысл уже существующих статусов меняться не будет.

Не для всех событий, отправляемых в виде вебхука, доступен расширенный статус. И если он недоступен, то событие стоит интерпретировать, основываясь на семантике стандартных статусов, описанных выше.

Ниже приведена таблица расширенных статусов, поделенная на группы в зависимости от предполагаемой реакции на эти статусы.

Успех

ok_sent

Сообщение было отправлено, промежуточный статус до получения ответа о доставке/недоставке.

ok_delivered

Сообщение доставлено.

ok_read

Сообщение доставлено и зарегистрировано его прочтение.

ok_link_visited

Сообщение доставлено, прочитано и выполнен переход по одной из ссылок.

Жалоба и отписка - получатель заносится в списки пожаловавшихся/отписавшихся и последующие отправки на этот адрес Unisender Go блокирует, пока адресат не будет удален из списка блокировки через suppression/delete

ok_spam_folder

Письмо доставлено, но сервер получателя поместил его в папку «Спам».

ok_fbl

Сообщение доставлено, но помещено в папку "спам" самим получателем.

ok_unsubscribed

Сообщение доставлено и прочитано, но пользователь отписался по ссылке в письме.

Временная ошибка - soft bounce, попытки доставки будут продолжены

err_will_retry

Одна или несколько попыток доставки оказались неудачными, но попытки продолжаются. Статус неокончательный.

Несуществующие - сервер ответил, что адрес не существует. Unisender Go предотвращает попытки отправки на такие адреса в будущем на длительный срок, для большинства mailbox-провайдеров это полгода. Но не навсегда - не исключено, что в будущем такой адрес всё-таки может быть зарегистрирован или реанимирован. 

err_user_unknown

Адрес не существует (и неизвестно, существовал ли когда-либо).

err_user_inactive

Адрес когда-то существовал, но сейчас не используется. Доставка не удалась. 

err_mailbox_discarded

Почтовый ящик получателя удален.

Отклонены как спам - когда сервер явно сообщает, что не будет принимать письмо, т.к. считает его спамом. Это не всегда означает, что следующее письмо от этого же отправителя будет тоже отклонено.

err_spam_rejected

Письмо отвергнуто как спам сервером получателя.

err_spam_skipped

Отправка отменена системой из-за блокировки рассылки как спама.

err_spam_removed

Отправка отменена системой из-за блокировки рассылки как спама (на более поздней стадии).

Недоступные надолго - в результате многократных попыток неудачной доставки различных писем адрес помечен нами как недоступный на длительный период (полгода для большинства mailbox-провайдеров), и попытки отправки на этот адрес будут отфильтрованы нами.

err_unreachable

Адрес помечен как постоянно недоступный по причине многократных ошибок доставки на этот адрес.

skip_dup_unreachable

Отправка отменена по причине недоступности адреса.

Недоступные - попытка доставки не удалась, но email не помечается как недоступный на долгое время, и доступен для отправки следующих писем либо сразу, либо через несколько дней. 

err_mailbox_full

Почтовый ящик переполнен.

skip_dup_mailbox_full

Отправка отменена из-за полученного ранее статуса err_mailbox_full.

err_too_large

По мнению сервера получателя, письмо превышает допустимый размер.

err_unsubscribed

Адресат ранее отписался от ваших рассылок.

err_blacklisted

Письмо было отклонено по причине наличия IP-адреса или домена отправителя в каком-то из чёрных списков.

err_skip_letter

Отправка отменена, так как email адрес временно недоступен.

err_domain_inactive

Домен не принимает почту или не существует.

err_destination_misconfigured

Домен не принимает почту из-за неверной настройки на стороне получателя, причем ответ сервера содержит информацию об устранимой причине (например, используется неработающий блеклист и т. п.).

skip_dup_temp_unreachable

Отправка отменена, по причине временной недоступности адреса.

err_lost

Письмо не было отправлено из-за несогласованности его частей, или было утеряно из-за сбоя на нашей стороне. Отправитель должен переотправить письмо самостоятельно, т.к. оригинал не сохранился.

err_internal

Внутренний сбой. Необходима переотправка письма.

err_delivery_failed

Доставка не удалась по иным причинам.

 

Причины блокировки отправки

В некоторых случаях Unisender Go предотвращает отправку писем - например, не давая их отправить ранее отписавшимся. В таких случаях метод email/send возвращает причину блокировки. Аналогичную причину можно получить, обратившись к методам suppression/get или suppression/list, позволяющим работать со списками заблокированных адресов.

Причина блокировки - это не статус отправки письма, это скорее статус самого email-адреса, но она тесно связана с предыдущими результатами отправки, поэтому мы сочли полезным описать возможные причины здесь.

Причины блокировки могут быть такими:

unsubscribed

Адресат ранее перешёл по ссылке отписки из письма или заголовка List-Unsubscribe, либо был внесён в список отписавшихся методом suppression/set.

temporary_unavailable

Одна или несколько предыдущих отправок на этот адрес закончились неудачно, и адрес помечен как “временно недоступный”. Через несколько дней он будет удален из временно недоступных и на него снова можно будет отправлять письма. Причины недоступности могут быть самыми разными и описаны выше, в таблице с расширенными статусами - например, ящик может быть переполнен или предыдущее письмо было заблокировано как спам.

permanent_unavailable

Адрес постоянно недоступен из-за многократных недоставок. Строго говоря, это не совсем “постоянная” недоступность - в этом статусе адрес пребывает обычно около полугода, прежде чем снова становится доступен для отправок.

complained

Адресат нажал на кнопку “Это спам” или иным образом пожаловался на одно из предыдущих писем, либо был внесен в список пожаловавшихся методом suppression/set.

blocked

Адрес заблокирован для отправки на уровне системы. Таких адресов очень ограниченное количество - это могут быть спам-ловушки или адреса наподобие support@gmail.com, которые явно не являются адресами физических лиц.

invalid

Email-адрес некорректен (например, без символа “@”).

duplicate

Дубликат email-адреса - эта причина блокировки возникает в случае, когда при отправке письма один и тот же email-адрес указан несколько раз.