Resend
Коротко: Сервіс для надсилання транзакційних листів (підтвердження, скидання паролів, розсилки) з вашого власного домену.
Докладніше: Щоб листи не потрапляли в спам і розпізнавалися як «справді» надіслані з вашого домену, потрібно задати певні записи DNS — зокрема запис DKIM (цифровий підпис) та SPF (які сервери можуть надсилати пошту від імені домену). За бажанням можна налаштувати піддомен відстеження, через який Resend фіксує, чи були листи відкриті або чи натиснуті посилання в них.
Наш контекст: Довелося повністю перенести на окремий акаунт Resend — зокрема видалити старі записи DKIM/SPF (які досі вказували на акаунт партнера) та ввести нові в OVH.
Подробиці
Доставлюваність пошти історично була проблемою довіри: теоретично будь-який сервер може заявити, що надсилає пошту від імені будь-якого домену (адресу відправника в полі From можна задати вільно), тому поштові провайдери на кшталт Gmail чи Outlook вимагають додаткових доказів, перш ніж не класифікувати лист як спам. Стандартну трійку для цього утворюють три записи DNS:
- SPF (Sender Policy Framework) — TXT-запис, що перелічує, які IP-адреси серверів можуть надсилати пошту від імені домену.
- DKIM (DomainKeys Identified Mail) — кожен надісланий лист криптографічно підписується; відкритий ключ для перевірки цього підпису доступний як запис DNS, щоб отримувач міг перевірити підпис.
- DMARC — визначає, що робити, якщо SPF/DKIM не пройдено (усе одно доставити лист, перемістити в спам або повністю відхилити), плюс адресу для звітів про невдалі перевірки.
Якщо цих записів немає або (як у випадку Emzett) вони досі вказують на чужий акаунт, листи або взагалі не доставляються, або надійно потрапляють у папку спаму — картина збою, яку неможливо діагностувати лише у власному коді, оскільки саме надсилання технічно успішне.
Повернення та скарги
Два види зворотного зв’язку вирішальні для довгострокової доставлюваності: bounce означає, що цільової адреси (вже) немає або поштова скринька переповнена — hard bounce (адреса назавжди не існує) має одразу виключити адресу з майбутніх розсилок, а soft bounce (тимчасова проблема, наприклад переповнена скринька) допускає повторні спроби пізніше. Скарга означає, що отримувач явно позначив лист як спам. Сервіси надсилання на кшталт Resend оцінюють обидва сигнали й можуть знизити репутацію відправника всього домену, якщо частка bounce/скарг стає надто високою — це зачіпає ВСІ майбутні листи з цього домену, а не лише відповідну адресу. Тому важливо активно видаляти bounce з власного списку отримувачів, а не мовчки ігнорувати їх.
Вебхуки статусу доставки
Замість того щоб самим регулярно питати, чи доставлено лист, можна налаштувати вебхук: за кожної зміни статусу (доставлено, відкрито, натиснуто посилання, bounce, скарга) Resend надсилає на задану вами URL HTTP-запит із подробицями в тілі — це дає змогу вашому застосунку, наприклад, показувати, чи справді дійшов лист із підтвердженням, без polling.
Див. також: Записи DNS, Записи DNS, TXT-запис, Листи