【问题标题】:Rails 3.2 Serialize & Deserialize MailRails 3.2 序列化和反序列化邮件
【发布时间】:2013-01-19 15:22:22
【问题描述】:

我正在尝试将电子邮件保存到数据库,以便稍后通过 rake 任务发送。在 rails 2.3.8 (TMail) 中这很容易,但我在使用 rails 3.2 时遇到了问题。

一旦我得到 Mail 对象(邮件),我调用 mail.encoded 来序列化电子邮件。我将它保存到数据库中。

我的 rake 任务加载了编码的消息,但我找不到重新创建邮件对象并调用传递(反序列化)的方法。

Mail.new(mail.encoded) 似乎应该可以工作,但是由于 Mail.new 没有获得默认的 ActionMailer SMTP 设置,因此传递失败。

还有其他人在做这样的事情吗?

谢谢!

【问题讨论】:

标签: ruby-on-rails-3


【解决方案1】:

好的,开始工作了。

要序列化电子邮件,我执行以下操作。

email = mail(:to => 'to@me.com',  ....)
string = mail.encoded

# later one

mail.new(email.string)
Mail.deliver(mail)

这似乎跳过了任何 HTML 验证。

我无法设置邮件发送设置(SMTP 等),但我认为它默认为 :sendmail,这在网络服务器上有效。

【讨论】:

  • 要使 smtp 设置正常工作,请在发送邮件之前添加 ActionMailer::Base.wrap_delivery_behavior(mail)
猜你喜欢
  • 2012-10-27
  • 2012-03-17
  • 1970-01-01
  • 2013-04-19
  • 2018-12-05
  • 2013-01-08
相关资源
最近更新 更多