Rails 3.1邮件程序pdf附件损坏

时间:2012-07-08 14:07:22

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

这是我的邮件:

class MailIt < ActionMailer::Base

    def funny(sender)
        @sender = sender
        attachments['funny.pdf'] = File.read("#{Rails.root}/app/assets/funny.pdf")
        mail(:to => "amail@example.com",
             :from => "amail@example.com",
             :subject => "TESST")
    end

end

我收到附带pdf的电子邮件,但它已损坏,文件大小仅为原始文件的1/4。

2 个答案:

答案 0 :(得分:2)

如果您的pdf中有图像,则必须将其作为二进制文件发送。

attachments['funny.pdf'] = File.read("#{Rails.root}/app/assets/funny.pdf", :mode => 'rb')

答案 1 :(得分:1)

我确实找到了解决方案。

File.read似乎存在问题

我试过这个并且有效:

attachments['funny.pdf'] = File.open("#{Rails.root}/app/assets/funny.pdf").read