Tag: ruby on rails动作

ActionMailer Observer中的Message.body为空

我正在使用Observer来记录外发电子邮件; 它正确触发,但当我尝试提取电子邮件的正文时,我得到一个空字符串。 电子邮件肯定不是空白的,并且肯定会创建日志记录。 断点和检查message.body确认它是一个空字符串。 class MailObserver def self.delivered_email(message) for address in message.to user = User.find_by_email(address) if user UserMailerLogging.create!(user_id: user.id, email_type: message.subject, contents: message.body, sent_at: Time.now) end end end end ActionMailer::Base.register_observer(MailObserver)

接收和处理电子邮件:Heroku,Sendgrid,可能还有Mailman

我的应用为每个用户创建一个唯一的电子邮件,用户将电子邮件发送到该地址进行处理。 使用Sendgrid,我将传入的电子邮件通过管道传输到我的域(在Heroku上托管)到一个地址: site.com/receive_email 我使用TO字段来确定用户,因为电子邮件地址是随机生成的(可能是那里的安全问题,但只是在我身边) 我已经尝试过使用像Mailman这样的外部脚本,但由于我是在Heroku上托管的,我需要让一名工作人员全职运行来保持这个过程。 此测试应用程序目前还没有真正寻找它。 这使得它作为POST请求处理。 我可以在receive_emails访问POST哈希(params [“subject”]等)。 这是我被卡住的地方 您是否建议处理POST params中的原始数据,或者我可以使用Mailman或ActionMailer之类的东西为我处理电子邮件?

Actionmailer SMTP服务器响应

当通过动作管理器发送邮件时,动作邮件程序会从SMTP服务器获取响应,当它正常或者错误时。 有没有办法在发送邮件后检索此响应? 当SMTP服务器没有抛出错误时? 我们的qmail邮件服务器会抛出一个我们想要用来跟踪电子邮件的处理程序ID。 例如,服务器响应如下: 250 ok 1308235825 qp​​ 17832