1

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

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

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

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

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

谢谢!

4

1 回答 1

2

好的,得到这个工作。

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

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

# later one

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

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

我无法设置邮件发送设置(SMTP 等),但我认为它默认为 :sendmail,并且可以在 Web 服务器上运行。

于 2013-01-19T23:55:08.917 回答