ruby-on-rails – 将动态生成的文件作为电子邮件发送

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 将动态生成的文件作为电子邮件发送前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在允许用户选择某些参数,并根据这些参数,我生成一个csv文件并将其作为下载推送给用户.例如
send_data <generated csv data>,:disposition => 'attachment' :type => 'text/csv'

有时,由于数据变得太大而无法计算,我不希望让用户等待将文件作为下载推送.我想将此文件作为附件发送到电子邮件中.

我可以正常发送电子邮件.我可以将已存在的文件作为附件发送.我不想保存这个文件.我想直接通过电子邮件发送给用户.

我怎么做?

解决方法

@juanpastas – 我按照你建议的方式做到了.但是这导致文件显示为电子邮件正文中的文本.

这就是电子邮件中出现的内容.

Content-Type: text/csv;
charset=UTF-8;
filename=data.csv
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename=data.csv
Content-ID: xyzxyz
[content of the csv file as text]

然后我包含了消息正文并且它有效.

mail(to: user.email,subject: 'XYZ',body: 'XYZ')

这导致电子邮件具有我提供的正文和主题,而文件显示为附件.

猜你在找的Ruby相关文章