我不确定为什么通过ActionMailer发送带有附件的电子邮件不会显示附件,而只是将附件的内容显示/输出到电子邮件中。ActionMailer无法附加HTML文件
class MyMailer < ActionMailer::Base
default :from => "[email protected]"
def test_email()
attachments['testresult1.html'] = {
:filename => 'testresult1.html',
:body => File.read('C:\\testresult1.html')
}
mail(:to => '[email protected]',
:subject => 'Cool great message'
)
end
end
电子邮件的输出看起来像HTML文件/附件的这个
Date: Tue, 17 Apr 2012 14:11:52 +1000
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8;
filename=testresult1.html
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename=testresult1.html
filename: testresult1.html
Content-ID: <[email protected]>
然后整个内容。
我希望HTML文件附加到电子邮件,因为它会附加到一个普通的电子邮件,我应该能够双击附件并在浏览器中打开它。
Email Client = Microsoft Outlook
Connection = SMTP
Rails = 3.2.1
ActionMailer = 3.2.1
Mail = 2.4.4
你好谢谢,这工作。你能解释一下,为什么它的工作.. ?? – user1126946 2012-04-17 23:19:41
以我的经验,一个ActionMailer电子邮件有一个附件和没有正文成为一个混乱的标题和内容。我想这应该写成差的测试覆盖率(他们的测试似乎假设总是有一个身体)。 – 2012-04-18 17:53:37
啊,我同意并且非常有道理。看起来像Ruby社区必须提出的错误。感谢您的答复。 – user1126946 2012-04-18 22:59:51