Rails, SendGrid - пересылка электронных писем почтовой программы пользователю - PullRequest
3 голосов
/ 06 июня 2011

У меня есть приложение, которое позволяет пользователям отправить приглашение другу. Письма отправляются с использованием SendGrid. Мне интересно, можно ли переслать электронные письма от mailer-daemon обратно пользователю, если они введут адрес электронной почты, который не существует.

Так, например, пользователь отправляет приглашение по электронной почте thisisnotreal@fakedomain1234.com. Я хочу иметь возможность уведомить пользователя о том, что введенная им электронная почта не существует. Обычно, когда вы просто отправляете электронное письмо из почтового клиента, сервер сразу же сообщает вам, что электронная почта не может быть доставлена. Мне интересно, возможно ли это сделать также через SendGrid.

1 Ответ

4 голосов
/ 07 июня 2011

Ознакомьтесь с разделом уведомления о событиях API SendGrid. Вы можете добавить страницу в свое приложение, которая принимает запросы POST от SendGrid, и тогда вы будете получать уведомления о событиях в режиме реального времени.

Когда событие отказов публикуется для этого слушателя из SendGrid, вы можете найти пользователя, которого нужно уведомить по электронной почте получателя. Если у вас нет этой связи в вашем локальном хранилище, вы можете передать уникальный аргумент SendGrid во время отправки, который содержит информацию, которую вы можете использовать для поиска - уникальная информация arg включена в уведомления о событиях. Тогда нужно просто предпринять соответствующие действия, необходимые для уведомления вашего пользователя - либо по электронной почте, либо посредством уведомления на вашем веб-сайте, либо текстового сообщения, либо того, что лучше для вашего приложения.

Это поддерживает асинхронную связь. Вы будете предупреждены, когда что-то пойдет не так, без необходимости добавлять код блокировки, и вы сможете отправить своим пользователям приятное фирменное сообщение (конечно, с использованием SendGrid), а не просто переслать ответ mailer-daemon.

...