如何使用 Mandrill 将 csv 文件附加到电子邮件?
Posted
技术标签:
【中文标题】如何使用 Mandrill 将 csv 文件附加到电子邮件?【英文标题】:How to attach a csv file to email using Mandrill? 【发布时间】:2017-07-15 23:50:16 【问题描述】:我有一个 csv 字符串,我试图将它作为电子邮件的附件发送到,但内容却是乱码。这是一个节点脚本。有什么想法吗?
// csv is a csv string
var message =
"html": msg,
"subject": 'Test CSV Attachment',
"from_email": from,
"from_name": "Tester",
"to": [
"email": email
],
"headers":
"Reply-To": email
,
"attachments": [
"type": 'text/csv',
"name": filename,
"content": csv
],
;
mandrill_client.messages.send("message": message, function(result)
console.log('result NOTIFICATION! ', result);
);
【问题讨论】:
【参考方案1】:根据Mnadrill API的documentation,需要对内容进行base64编码:
所以,修改以下...
"content": csv
...到:
"content": Buffer.from(csv).toString('base64')
【讨论】:
成功了!我之前尝试过 csv.toString('base64') 并且失败了。你能解释一下这与你所做的有什么不同吗? @user3527354 cloud.githubusercontent.com/assets/1779189/23337067/… 我认为区别在于调用Object.prototype.toString()
v/s buffer.toString()
。前者不接受任何参数,即使您指定除 'base64' 之外的任何垃圾,它也不会抱怨。但后者最多接受三个参数:编码、开始和结束以上是关于如何使用 Mandrill 将 csv 文件附加到电子邮件?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 fast-csv npm 将新行或新行的数据(新行)附加到现有的 csv 文件
如何在 Python 中使用 Pandas 数据结构附加多个 CSV 文件
如何在 pyspark 中使用 df.write.csv 附加到 csv 文件?