
Как отправлять письма, чтобы не улетать в спам: DKIM-подпись, прогрев IP и DNS-грабли
Транзакционные письма — подтверждения регистрации, сброс пароля, чеки — кажутся простейшей задачей: подключил SMTP, вызвал send(), готово. Ровно до момента, когда письма начинают тихо улетать в спам Mail.ru и Яндекса, а ты не понимаешь почему: код не менялся, ошибок нет, письма «отправлены».Дело почти никогда не в коде отправки. Дело в трёх DNS-записях, репутации IP-адреса и криптоподписи, которую надо собрать руками правильно.Я строю свой сервис транзакционной почты и разобрал всю эту машинерию до винтика. В статье:— DKIM своими руками: генерация ключа, каноникализация relaxed по RFC 6376, почему порядок подписываемых заголовков важен и где чаще всего ломается подпись; — три DNS-записи (SPF, DKIM, DMARC), которые решают всё, и что каждая делает; — прогрев IP: почему нельзя слать 50 тысяч писем с нового адреса, лестница лимитов 50 → 500 → 5000 → 50000 и пороги репутации; — suppression-лист и DMARC-отчёты как единственное зеркало вашего домена.И кульминация — реальная грабля, на которой я обжёгся: две абсолютно правильные SPF-записи на одном домене, каждая валидна по отдельности, а вместе ломают доставляемость всего домена в ноль. Разбираю, почему так происходит и как чинится.Честно про статус: сервис в открытой бете, движок построен, а реальную статистику доставляемости наберём на первых отправках — прогрев по определению требует недель живого трафика. Поэтому статья про архитектуру и грабли, а не про достигнутые проценты. Читать далее