我不确定为什么我通过带有附件的ActionMailer发送的电子邮件不会向我显示附件,而是附件的内容只显示/输出到电子邮件中。
class MyMailer < ActionMailer::Base
default :from => "email@email.com"
def test_email()
attachments['testresult1.html'] = {
:filename => 'testresult1.html',
:body => File.read('C:\\testresult1.html')
}
mail(:to => 'email@email.com',
:subject => 'Cool great message'
)
end
end
电子邮件的输出如下所示
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: <4f8ced883c0d9_1b1c30b580813e@PC-049.mail>
然后是HTML文件/附件的全部内容。
我希望将HTML文件附加到电子邮件中,因为它将附加到普通电子邮件中,我应该能够双击附件并在浏览器中打开它。
Email Client = Microsoft Outlook
Connection = SMTP
Rails = 3.2.1
ActionMailer = 3.2.1
Mail = 2.4.4
答案 0 :(得分:2)
您应该尝试向#mail添加body
密钥。
答案 1 :(得分:2)
非常感谢菲利普:)
我发送了一个没有任何body属性的附件 我面临着两个问题:
但是在为邮件添加body属性之后,它可以正常工作。
所以,正确的语法是:
attachments['mypdf.pdf'] = File.read('#{Rails.root.to_s}/public/test.pdf')
mail(:to => guru****@gmail.com, :from => guru****@gmail.com, :subject => 'Attachment Test Mail', :body => 'Regards, Guru')
答案 2 :(得分:1)
我对'Noname'有同样的问题并且已损坏。
我正在使用以下代码:
attachments['126539_statistics.pdf'] = File.read("app/assets/pdfs/126539_statistics.pdf")
mail(:to => email, :subject => subject, :body => message)
发送带附件的邮件没有任何问题......