2010-11-14 2 views
0

Я использую ActionMailer в Rails 3 для отправки периодических писем. Мне нужно знать, правильно ли отправлено электронное письмо (насколько это возможно).Как проверить, успешно ли было отправлено письмо с помощью ActionMailer?

@lists.each do |list| 
    email = Reminder.deadline_reminder(list) 
    email.deliver 
    end 

Есть ли свойство объекта электронной почты (класс почта :: Сообщение из библиотеки почты), который расскажет мне ли пошел посыл правильно (нет проблем с подключением проблемы аутентификации и т.д.)? Я просмотрел классы в Гитубе, но не смог ничего понять.

ответ

3

Все зависит от того, что вы считаете успешным.

Вы можете проверить, не отправил ли ваш код сообщение. Вы можете часто проверять журнал, чтобы узнать, получил ли его почтовый сервер пересылки и переместил его в пункт назначения.

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

Лучше всего поставить ссылку в сообщении, которое пользователь нажимает, который будет щекотать приложение на сервере с помощью токена, который был уникальным для этого сообщения. Когда приложение видит маркер, он устанавливает флаг, дающий вам знать, что получил сообщение И, по крайней мере, прочитал часть о нажатии ссылки. Затем, если в течение заданного времени должен быть ответ, вы также отслеживаете, когда сообщение было отправлено и эскалировано, если токен не был получен обратно в течение срока.

+0

Хорошая идея. Вы можете отслеживать открытие, добавив очень маленькую графику в электронное письмо. Когда они откроют электронное письмо, оно будет загружено с вашего сервера, и вы узнаете, что они открыли вашу электронную почту. Так открываются дорожки MailChimp. Не работает, если изображения не включены. http://kb.mailchimp.com/article/how-open-tracking-works – corbin

+0

Правильно, это не удается, если их почтовый клиент не отображает графику, или пользователь дал указание не загружать изображения, например, многие мобильные и веб-клиентов. –

Смежные вопросы