我试图将电子邮件保存到数据库,稍后通过rake任务发送。这在rails 2.3.8 (TMail)中非常容易,但是在rails 3.2中我遇到了麻烦。
一旦获得Mail对象(Mail),就调用Mail。编码以序列化电子邮件。我把它保存到数据库。
我的rake任务加载了编码的消息,但是我找不到一种方法来重新创建邮件对象并调用deliver(反序列化)。
Mail.new(Mail. encoded)看起来应该可以工作,但是由于Mail。new没有得到默认的ActionMailer SMTP设置。
还有人在做这样的事吗?
谢谢!
好了,开始工作了。
为了序列化电子邮件,我做了以下操作。
email = mail(:to => 'to@me.com', ....)
string = mail.encoded
# later one
mail.new(email.string)
Mail.deliver(mail)
这似乎跳过了任何HTML验证。
我不能设置邮件发送设置(SMTP等),但我认为它默认为:sendmail,这在web服务器上工作