Объём почты, уходящей с вашего домена, определяют три разные вещи, и ведут они себя по-разному:
| Ограничение | Что это | Что происходит при достижении |
|---|---|---|
| Лимиты тарифа | Оплаченный объём в час и в месяц | Письмо не принимается |
| Разгон домена | Суточный и часовой потолок на доставку, для каждого домена | Письмо принимается и уходит позже — отказа нет |
| Проверки на злоупотребления | Оценка содержимого и аномалии объёма | Ничего, пока не превышен порог; после этого отправка останавливается |
Каждый тариф задаёт число писем в час и писем в месяц. Оба лимита проверяются при приёме письма и считают принятые письма, а не доставленные. Текущий расход по каждому из них виден на странице домена в панели.
При превышении часового лимита API отвечает HTTP 400:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"non_field_errors": ["Hourly limit exceeded"]
} Для месячного лимита формулировка — Monthly limit exceeded. На SMTP-релее те же два лимита проверяются при передаче тела письма, и сессия получает ответ 550 hourly limit exceeded или 550 monthly limit exceeded. Эти ошибки имеет смысл повторять с выдержкой: лимиты освобождаются сами.
Принимающий сервер считает объём по домену отправителя, а не по IP-адресу, с которого письмо пришло. Домен, который никогда ничего не отправлял и вдруг начинает слать десятки тысяч писем, для Gmail выглядит одинаково — и когда это настоящий запуск продукта, и когда это взломанный аккаунт. Поэтому каждый домен разгоняется от того объёма, который за ним уже наблюдали:
Удвоение в сутки — это быстро: неделя реальной отправки доводит домен от 200 до более чем 12 000 писем в день, девять дней — до более чем 50 000. На практике разгон перестаёт быть заметен раньше: на любом тарифе первым упираешься в месячный лимит. Домен, молчавший все 30 дней окна, возвращается к минимуму: спящий домен, внезапно заработавший на полном объёме, — как раз тот случай, ради которого разгон и существует.
Если предстоит запуск, который не может ждать разгона, напишите на support@help.postwing.app заранее — потолок можно поднять вручную для конкретного домена, и этот разговор гораздо лучше вести до отправки, чем после того, как получатели начали ограничивать ваш домен.
Каждое письмо при приёме оценивается на признаки спама. По этой оценке ничего не отклоняется: одно письмо не является доказательством, и необычное письмо гораздо чаще оказывается сообщением клиенту об оплате, чем рассылкой.
Отслеживается картина по недавнему трафику домена. Проверка идёт постоянно и смотрит на две вещи:
Доля отказов и отклонений «как спам» со стороны принимающих серверов тоже измеряется, но по ней решение принимает человек, а не автоматика.
Больше всего весят правила, у которых нет безобидного прочтения, — не тема письма и не продающие формулировки:
display:none, нулевой размер шрифта, белым по белому. Обычные маркетинговые письма к этому не относятся. «Летняя распродажа, −30%, подробнее» — это обычная рассылка, ради которой сервис и нужен, и лёгкие признаки (капслок в теме, сокращатели ссылок, продающая лексика) сами по себе не могут набрать подозрительную оценку.
Блокировка намеренно заметна, и это не то же самое, что низкая репутация:
HTTP 403 в API, а на SMTP отказ происходит на этапе аутентификации с сообщением Sending from this domain has been stopped. HTTP/1.1 403 Forbidden
Content-Type: application/json
{
"detail": "Sending from this domain has been stopped: Sending spam",
"code": "domain_banned",
"reason": "spam"
}detail написан для человека и переводится; code и reason остаются на английском — именно по ним стоит ветвиться в интеграции. reason принимает значения spam, phishing, malware, purchased_list, spam_content, spam_velocity, terms, fraud, requested или other.
Ответьте на письмо или напишите на support@help.postwing.app, указав домен и что изменилось. Автоматические блокировки существуют потому, что быстро и обратимо ошибиться лучше, чем дать рассылке уйти: если она сработала по ошибке — скажите об этом, и решение пересмотрят.
mass_mail, чтобы к ним добавлялись заголовки отписки в один клик, — см. документацию по API. См. также репутацию домена — она считается отдельно и может остановить отправку сама по себе.