Чтобы проверить, как ваше приложение обрабатывает возвраты и жалобы на спам, отправьте письмо на специальный адрес на домене bounce-testing.haskimail.ru. Такое письмо никуда не уходит: Haskimail сразу имитирует ответ почтового сервера получателя и создаёт событие в том же формате, что и при настоящем возврате или жалобе.
Так можно безопасно проверить вебхуки: тестовые возвраты не влияют на репутацию вашего домена и не расходуют лимит писем.
Тип события определяется частью адреса до @:
hardbounce@bounce-testing.haskimail.ru — жёсткий возврат: код 550, адрес получателя не существует. Также подойдёт hard@.softbounce@bounce-testing.haskimail.ru — мягкий возврат: код 450, ящик временно недоступен. Также подойдёт soft@.blocked@bounce-testing.haskimail.ru — письмо заблокировано почтовым сервером получателя: код 554. Также подойдут block@ и ispblock@.spamnotification@bounce-testing.haskimail.ru — жалоба на спам. Также подойдут spam@, complaint@ и complained@.Регистр и символы, кроме латинских букв и цифр, не учитываются: Hard-Bounce@ сработает так же, как hardbounce@. Любой другой адрес на этом домене считается жёстким возвратом.
(blackhole test) — по ней тестовые события легко отличить от настоящих.Тестовые адреса работают при отправке и через API, и через SMTP — на живом сервере и на сервере-песочнице. Письмо должно пройти обычную проверку запроса: например, адрес отправителя должен быть подтверждён.
Тестовые адреса доступны и пока аккаунт проходит модерацию — в любом из полей To, Cc и Bcc. Остальные получатели письма при этом проверяются как обычно: это должны быть подтверждённые адреса или адреса на подтверждённых доменах.
С тестовым токеном HASKIMAIL_API_TEST тестовые адреса не работают: такой запрос только проверяется, и никаких событий не создаётся.
curl "https://api.haskimail.ru/email" \
-X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Haskimail-Server-Token: server token" \
-d '{
"From": "sender@example.com",
"To": "hardbounce@bounce-testing.haskimail.ru",
"Subject": "Проверка обработки возвратов",
"TextBody": "Тестовое письмо"
}'