【问题标题】:How to maintain log of email status sent using Pony gem in Sinatra如何在 Sinatra 中维护使用 Pony gem 发送的电子邮件状态日志
【发布时间】:2021-01-12 14:00:59
【问题描述】:

我使用 Sinatra Ruby 作为 API 并使用 Pony gem 发送电子邮件。我想记录每封已发送邮件的状态(电子邮件是否成功发送,发送给谁等)。我在 Sinatra 控制台中只看到路由日志,但没有任何电子邮件迹象。 简而言之,我想像在 Rails 控制台中一样维护日志。

【问题讨论】:

  • 查看 Pony gem 文档以了解如何检查已发送邮件的状态。
  • @KelseyHannan 我没有找到检查邮件状态的方法

标签: ruby sinatra pony


【解决方案1】:

docs 中有一些方法可以查看电子邮件是否被退回:

从电子邮件中获取错误报告:

@mail = Mail.read('/path/to/bounce_message.eml')

@mail.bounced?         #=> true
@mail.final_recipient  #=> rfc822;mikel@dont.exist.com
@mail.action           #=> failed
@mail.error_status     #=> 5.5.0
@mail.diagnostic_code  #=> smtp;550 Requested action not taken: mailbox unavailable
@mail.retryable?       #=> false

因此,当您发送它时,如果您有权访问已发送邮件的实例变量,则可以运行puts @mail.bounced?,否则查找.eml 消息的保存位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多