Почему письма отклоняются (bounce)?

Типы отказов и что делать.

Bounce — сервер получателя не принял письмо. Тип отказа подсказывает действия.

Типы

Постоянный (permanent)

Адрес или домен недоступен навсегда: нет ящика, удалённый ящик, несуществующий домен.

Действие: сразу уберите адрес из списков. Повторные отправки бьют по репутации.

Временный (transient)

Временная проблема: переполненный ящик, недоступность сервера, слишком большое письмо, greylisting.

Действие: Agent Inbox повторяет доставку; после неудачных попыток отказ может стать постоянным.

Webhook message.bounced

TypeScript
1import { serialization } from "agentinbox";
2
3async function handleWebhook(payload: Record<string, unknown>) {
4 if (payload.event_type === "message.bounced") {
5 const event = await serialization.events.MessageBouncedEvent.parse(payload);
6
7 console.log(`Bounce type: ${event.bounce.type}`);
8 console.log(`Sub type: ${event.bounce.subType}`);
9 console.log(`Message: ${event.bounce.messageId}`);
10
11 for (const recipient of event.bounce.recipients) {
12 console.log(`Bounced address: ${recipient.address}`);
13
14 if (event.bounce.type === "Permanent") {
15 await removeFromList(recipient.address);
16 }
17 }
18 }
19}

Регистрация:

TypeScript
1import { AgentinboxClient } from "agentinbox";
2
3const client = new AgentinboxClient({ apiKey: "am_..." });
4
5await client.webhooks.create({
6 url: "https://your-domain.ngrok-free.app/webhooks",
7 events: ["message.bounced"],
8});

Автоподавление

Повторная отправка на адреса после bounce, отказа или жалобы в спам блокируется — защита репутации. Держите bounce rate ниже 4%, иначе возможна проверка аккаунта.

Низкий bounce rate

ПрактикаЗачем
Валидация адресовМеньше опечаток и «мёртвых» адресов
Удалять permanent сразуРепутация
Не покупные/спарсенные спискиМного невалидных адресов
Прогрев новых доменовРезкий всплеск подозрителен
МониторингЦель < 2% для здоровой репутации

Доставляемость.