Ruby on rails Rails 3.0.17发送内联附件而不是常规附件
因此,我们刚刚在Ruby 1.8.7企业版的基础上,将我们的项目升级到Rails 3.0.17(请不要问为什么这个特定版本会如此) 我有方法生成CSV数据并通过电子邮件将其作为文件发送Ruby on rails Rails 3.0.17发送内联附件而不是常规附件,ruby-on-rails,ruby-on-rails-3,actionmailer,email-attachments,Ruby On Rails,Ruby On Rails 3,Actionmailer,Email Attachments,因此,我们刚刚在Ruby 1.8.7企业版的基础上,将我们的项目升级到Rails 3.0.17(请不要问为什么这个特定版本会如此) 我有方法生成CSV数据并通过电子邮件将其作为文件发送 # contact_mailer.rb def send_payments_report attachments["report.csv"] = { :content => Payment.generate_csv_report, :mime_type => "text/csv"
# contact_mailer.rb
def send_payments_report
attachments["report.csv"] = {
:content => Payment.generate_csv_report,
:mime_type => "text/csv"
}
mail(
:from => "from@example.com",
:subject => "Payments report",
:to => "to@example.com"
)
end
下面是它返回的结果:
=>#
电子邮件本身显示为无附件的纯文本:
--
Date: Wed, 19 Dec 2012 11:48:05 +0200
Mime-Version: 1.0
Content-Type: text/csv;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename=report.csv
Content-ID: <50d18d555dcdc_2269838ab93812784@artem.local.mail>
"customer id","reference nr","invoice id","invoice type","invoice sum","sum paid","payment date"
"1035","010294","7113","Fine","250.00","100.00","2012-11-15"
"1035","010294","6132","Fine","250.00","250.00","2012-11-15"
"1035","010294","5241","Fine","850.00","650.00","2012-11-15"
--
--
日期:2012年12月19日星期三11:48:05+0200
Mime版本:1.0
内容类型:文本/csv;
字符集=UTF-8
内容传输编码:7bit
内容处置:附件;
filename=report.csv
内容ID:
“客户id”、“参考编号”、“发票id”、“发票类型”、“发票金额”、“已付金额”、“付款日期”
“1035”、“010294”、“7113”、“罚款”、“250.00”、“100.00”、“2012-11-15”
“1035”、“010294”、“6132”、“罚款”、“250.00”、“250.00”、“2012-11-15”
“1035”、“010294”、“5241”、“罚款”、“850.00”、“650.00”、“2012-11-15”
--
我尝试附加现有文件,但它以相同的方式显示。它在Rails 2.3.9上运行得非常好。有人能帮忙吗?我似乎已经解决了这个问题。 下面是我如何调用
mail
方法:
mail(
:from => "from@example.com",
:subject => "Payments report",
:to => "to@example.com"
) do |format|
format.text {render :text => ""}
end