Проверка отклоненного идентификатора электронной почты в ruby ​​on rails - PullRequest
1 голос
/ 14 декабря 2011

Я создаю почтовое приложение в ruby ​​на рельсах, и у меня была базовая версия, которая просто использовалась для отправки электронных писем с помощью AWS SES, но недавно я получил письмо от команды AWS, в котором говорилось, что большая часть отправленного мною электронного письма отскочила и они прекратят работу с моей учетной записью, если я отправлю электронные письма на отклоненные адреса электронной почты.

Есть ли способ проверить перед отправкой электронной почты на любой адрес, что это письмо существует или нет, и является ли оно действительным или нет.

Любой драгоценный камень или обходной путь мне очень помогут

1 Ответ

1 голос
/ 14 декабря 2011

Общий способ сделать это чисто с точки зрения проектирования системы.Если вы собираетесь получить адрес электронной почты от одного из ваших пользователей и периодически отправлять им электронные письма, или по мере того, как происходят события и т. Д., То вам следует сначала попросить их «подтвердить свой адрес электронной почты».Обычно это включает создание уникального токена, размещение его в базе данных, связанного с пользователем, а затем отправку электронного письма, содержащего URL-адрес с этим уникальным токеном в нем.Пользователь щелкает ссылку, которая идет к контроллеру в вашем приложении Rails, который сопоставляет токен с пользователем.Если они не могут перейти по этой ссылке, они не могут прочитать ваши электронные письма, поэтому не отправляйте дальнейшие электронные письма на этот адрес.

Если вы получили адреса электронной почты с помощью «других средств», значит, вы потерялиустановить адрес возврата в исходящем электронном письме (здесь будут отправляться сообщения о возвратах), а затем проверить этот почтовый ящик на наличие сообщений об отказах.Я также часто с подозрением отношусь к тому, как люди сталкиваются со списком адресов электронной почты, которые пришли не от пользователей, согласившихся на соглашение с вашим сайтом.

Вы могли бы использовать гем почтыСделайте это, но вам нужно знать, как настроить SMTP-сервер, который направляет электронную почту в ваше приложение Rails, что непросто без предварительного опыта.Вы также можете использовать переменный адрес обратного пути (VERP), например <some unique hash>+bounces@your-domain.com, где <some unique hash> ссылается на адрес электронной почты в вашей системе.Это избавляет от необходимости пытаться проанализировать и интерпретировать отклоненное письмо, поскольку адрес, на который оно отправлено, сообщает вам, кто является отклоненным получателем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...