我使用 Sinatra Ruby 作为 API 并使用 Pony gem 发送电子邮件。我想记录每封已发送邮件的状态(电子邮件是否成功发送,发送给谁等)。我在 Sinatra 控制台中只看到路由日志,但没有任何电子邮件迹象。简而言之,我想像在 Rails 控制台中一样维护日志。
问问题
42 次
1 回答
0
在文档中有一些方法可以查看电子邮件是否被退回:
从电子邮件中获取错误报告:
@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
消息保存的位置。
于 2021-01-12T06:00:59.463 回答