使用ActionMailer未在rails中正确发送附件

时间:2014-06-04 18:17:59

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2 actionmailer

我正在尝试通过ActionMailer发送xls文件。

mailer = ActionMailer::Base.mail(:to => "reciever@gmail.com", :from => "sender@gmail.com", :content_type=>"application/vnd.ms-excel", :body=> '')
mailer.attachments['filename.xls']= {mime_type: 'application/vnd.ms-excel', content: File.read("filePath.xls")}
mailer.deliver!

我也能收到邮件。 但不知何故,附件不正确,它显示为noname,下面是我在文件中得到的内容(我复制粘贴确切的内容)

-

Date: Wed, 04 Jun 2014 23:33:48 +0530
Mime-Version: 1.0
Content-Type: application/vnd.ms-excel;
 charset=UTF-8
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename=filename.xls
Content-ID: <538f5f82836992@C02L2178FFT3.gmail>

PGgzIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj4gCiAgICBTaG93aW5nCiAg
ICBvcGVuCiAgICByZXF1ZXN0cwogICAgZnJvbQogICAgTm92IDIxLCAyMDEz
....

我确信我遗漏了一些简单的东西,我无法弄清楚是什么。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

试试这个: -

mailer = ActionMailer::Base.mail(:to => "reciever@gmail.com", :from => "sender@gmail.com", :content_type=>"application/vnd.ms-excel", :body=> '')
mailer.attachments["filename.xls"]= File.read("filePath.xls")
mailer.deliver!