Общий отказ с пояснением
Код 554 в почтовом протоколе описывается как неудача транзакции, и на практике это «универсальный» постоянный отказ. Сервер не принимает письмо и объясняет причину текстом: «Message rejected as spam», «Service unavailable; client host blocked using …», «Relay access denied», «Sender address rejected» и подобное.
Поэтому число 554 мало что значит без хвоста. Просмотрите сообщение целиком, найдите название сервера, который отказал, и любые упоминания списков, политик или правил. В письме о недоставке они обычно есть в самом конце.
Типичные причины: SMTP 554 Transaction failed
Больше всего случаев связано с репутацией и содержимым: IP-адрес отправителя или домен попал в список нежелательных отправителей, письмо набрало слишком много баллов в спам-фильтре из-за ссылок, вложений, шаблонного текста и одинаковых рассылок.
Дальше идут проблемы аутентификации: нет записи SPF, подпись DKIM не сходится, политика DMARC строгая, а письма не проходят проверку. Ещё одна причина: отсутствует или неверна обратная запись для IP-адреса отправителя, или приветствие сервера не соответствует его имени.
Есть и локальные причины: зараженный компьютер в вашей сети рассылает спам, и IP-адрес попадает в список, либо почтовый ящик взломан и используется злоумышленниками для рассылки.
Диагностика: SMTP 554 Transaction failed
Найдите в тексте отказа название списка или правила, если оно приведено. Проверьте свой IP-адрес и домен по общедоступным проверкам репутации: они покажут, значится ли адрес в списках. Проверьте записи SPF, DKIM, DMARC в DNS домена, а также обратную запись IP.
Отправьте на тот же адрес очень простое письмо: короткий текст без ссылок и вложений. Если оно проходит, а исходное нет, дело в содержимом. Если не проходит и оно, проблема в репутации или настройках отправляющего сервера.
Отдельно убедитесь, что с компьютеров вашей сети не идёт лишний почтовый трафик, и что пароли к ящикам не утекли: необычные исходящие очереди на сервере говорят об этом.
Проверьте и заголовки самого письма: некорректная кодировка, пустая тема, повреждённые вложения и отсутствие текстовой части нередко повышают оценку спама. Отправьте себе то же письмо на ящик другого провайдера и посмотрите, как оно помечено, прежде чем менять настройки сервера.
Исправление: SMTP 554 Transaction failed
Настройте аутентификацию домена по всем трём записям, добавьте корректную обратную запись и имя сервера. Если IP значится в списке, устраните причину (заражённый узел, слабый пароль) и обратитесь к оператору списка за исключением по описанной им процедуре.
Упростите письмо: уберите сокращённые ссылки, лишние вложения, обилие заглавных букв. Для рассылок используйте отдельный поддомен и постепенно наращивайте объём.
Если вы отправляете через почтовый сервис или хостинг, сообщите его поддержке точный текст отказа: репутацию общих IP-адресов часто можно поправить только силами провайдера.
Когда виноват получатель
Иногда сервер получателя слишком строг: корпоративные шлюзы могут отклонять всё, что не подходит под их правила. Тогда напишите получателю по другому каналу и попросите добавить ваш адрес в список разрешённых. Если у других получателей письма проходят нормально, а отказ только у этого домена, проблема у них.
Если рассылку ведёт сервис или хостинг, помните, что IP-адрес у вас может быть общим с другими клиентами. Чужие нарушения ухудшают репутацию адреса, и отказы 554 у вас возникают без вашей вины. Иногда решение в переходе на выделенный адрес.
Как не получить 554 в будущем
Профилактика сводится к нескольким привычкам. Настроить SPF, DKIM и DMARC для домена сразу. Держать список адресов в чистоте и удалять несуществующие. Не отправлять письма без запроса получателя и давать способ отказаться от рассылки.
Следите за отчётами о доставке: рост числа отказов раньше всего сигнализирует о проблемах с репутацией. Отправляйте с постоянного имени и адреса, не меняйте шаблоны ежедневно и не начинайте с рассылки по тысячам адресов сразу. Для транзакционных писем и массовых рассылок используйте разные поддомены, чтобы проблемы одного не портили другое.