Message rejected при отправке скриптом через SMTP для аккаунта Google Apps. ЧЯДНТ?
Есть сайт с регистрацией. Прикручено GMail Google Apps на своём домене. При регистрации отправляется (phpmailer) сначала письмо со ссылкой для активации, потом об успешной активации. SPF и DKIM подключены (последний средствами самого Google, то есть закрытого ключа я не знаю), когда доставляется, то сторонние сервисы не возражают, даже такие привередливые как mail.ru. Но время от времени возникают периоды когда при попытке отправки получаю сначала
Delivery to the following recipient failed permanently:
**********@*.com
Technical details of permanent failure:
Message rejected. See http://support.google.com/mail/bin/answer.py?answer=69585 for more information.
А потом вообще SMTP Error: Data not accepted. в скрипте. При этом руками из веб-интерфейса GMail всё отправляется. Через некоторое время всё само собой проходит.
Замечено, что такое поведение возникает, когда встречаются несколько адресов, на которые их сервера отвечают что такого юзера/ящика не существует (что-нибудь вроде Local mailbox nikita2109201@mail.ru is unavailable: user not found). Есть подозрение что есть у гугла счётчик при котором после нескольких not found от внешних серверов отправка на какое-то время блокируется, а если проявлять настойчивость (запущена рекламная кампания), то по smtp даже не отправляется.
Как бороться с ошибочно (или специально) введенными несуществующими адресами? Очень не хочется поднимать локально postfix и разбираться с его конфигами, особенно в комплекте с DKIM. Админ из меня ещё хуже чем разработчик.
Ну во-первых, у гуглопочты есть лимит сообщений, если мне не изменяет память, где-то 5000/сутки.
Во-вторых, что мешает нанять сисадмина за небольшую копеечку, чтобы он правильно настроил вам почтовик, раз уж есть где, и вы не уверены в своих силах?
Бороться можно анализируя ошибки доставки, и вычёркивая из рассылки адреса. Ну и проверяя корректность домена ящика, DNS запросами — часть совсем левых адресов отсеется.
Таким количеством и не пахнет. Меньше 300 сообщений отправлено всего, из них 200 за два дня последних, когда рекламу запускали.
Нанять — не вариант. Те, кто согласится работать за небольшую копеечку, вряд ли обеспечат качество лучшее чем я смогу настроить сам по хаутушкам, а за большую бюджет не позволяет.
Не рассылка, письма со ссылкой активации и об успешной регистрации, одноразовые. Домены — реальные домены с почтой, ошибка вываливается на уровне «пользователь не существует», то есть домен есть, почтовый сервер на нём есть, только пользователя/ящика нет.
Ну если это отдельные письма, то тут особо не проверишь. Если есть выделенный ip и возможность прописать ptr, то поднять postfix по howto, на самом деле, не так это сложно. Для dkim поднять, например, dkim_proxy опять же дело-то нехитрое. Пишите, если что в скайп, подскажу.
Можно попробовать использовать smtp провайдера. их сейчас много. mailgun, sendgrid, smtp.com. У первого free account до 200 или 300 сообщений в сутки, зато очень богатые API
Лично я использую собственный SMTP сервер (postfix), с spf, dkim, whitelisting у major ESP (yahoo, google, aol, roadrunner). Почта уходит быстро, попадает в инбокс. Наверное в случае с VDS без выделенного IP этот вариант не пройдет.