Node.js 使用aws sdk(Amazon SES)和nodejs发送带有附件的电子邮件
你好, 我正在尝试使用Node.js 使用aws sdk(Amazon SES)和nodejs发送带有附件的电子邮件,node.js,amazon-web-services,amazon-ses,aws-sdk,Node.js,Amazon Web Services,Amazon Ses,Aws Sdk,你好, 我正在尝试使用 var params = { RawMessage: { From: "rajit.garg@daffodilsw.com", To: "rajit.garg@daffodilsw.com", Date: new Date(), Subject: "Hello", "Accept-Language": "en-US",
var params = {
RawMessage: {
From: "rajit.garg@daffodilsw.com",
To: "rajit.garg@daffodilsw.com",
Date: new Date(),
Subject: "Hello",
"Accept-Language": "en-US",
"Content-Language": "en-US",
"Content-Type": "text/plain", charset: "us-ascii",
"Content-Transfer-Encoding": "quoted-printable",
"MIME-Version": 1.0,
Data: "Hello, I hope you are having a good day."
},
Destinations: [
"rajit.garg@daffodilsw.com"
],
Source: "rajit.garg@daffodilsw.com"
};
ses.sendRawEmail(params, function (err, data) {
if (err) console.log("err>>" + err, err.stack); // an error occurred
else console.log("data>>>" + JSON.stringify(data)); // successful response
});
但我犯了一个错误
意外参数:在params.RawMessage中找到意外的键“From”
*意外参数:在params.RawMessage中找到意外的键“To”
*意外参数:在params.RawMessage中找到意外的键“Date”
*意外参数:在params.RawMessage中找到意外的键“Subject”
*意外参数:在params.RawMessage中找到意外键“Accept Language”
*意外参数:在params.RawMessage中找到意外的键“内容语言”
*UnexpectedParameter:在params.RawMessage中找到意外的键“内容类型”
*意外参数:在params.RawMessage中找到意外键“charset”
*UnexpectedParameter:在params.RawMessage中找到意外的键“内容传输编码”
*意外参数:在params.RawMessage中找到意外的键“MIME版本”
我知道我使用的参数格式不正确,但我没有找到正确的格式,请帮助我。。。。。
提前感谢…,字段RawMessage
仅包含数据
属性,没有其他内容。数据
字段包含完整的原始电子邮件消息-包括标题和正文(或多个正文),所有内容均正确格式化(转义、编码)和分隔(换行数正确)
您可能正在寻找
sendmail
,它允许您将诸如“收件人”、“发件人”和“主题”字段的标题设置为键值对。谢谢RikkusRukkus,您能否详细告知我数据应包含哪些内容,我需要发送带有附件的电子邮件,如果可能,还需要包含多个收件人、抄送和密件抄送,在我必须写主题的地方,我需要使用Nodejs来写,请帮助我,谢谢数据
应该是整个电子邮件的缓冲区。这意味着您首先设置标题、双换行符,然后设置正文。就用吧。它让你的生活更轻松。输出的mailcomposer.buildMessage
可能可以直接注入到数据中
。感谢Rikkusrukus,我从您的链接中获得了很多,但仍然有两个问题,第一个问题是我无法从系统中附加文件,第二个问题是我需要将内容写入文件,然后从文件中读取内容,然后将其交给RawMessage-->数据,mailcomposer.addAttachment({//这不是工作文件名:“serv.txt”,文件路径:“./cust serv.txt”});mailcomposer.streamMessage();pipe(fs.createWriteStream(“testnew.eml”);fs.readFile('testnew.eml',函数(err,data){if(err){..}params={RawMessage:{data:data},………非常感谢RikkusRukkus,我能够成功地发送带有附件的邮件,但我现在有一个小问题,我正在使用mailcomposer.setMessageOption,但通过这个,我的密件抄送不起作用,而且,抄送工作成功,我以前的问题是通过使用mailcomposer.buildMessage解决的,正如您所说,但我有一个问题我以前错误地使用了它,您能帮我一下吗。@RajitGarg您能发布一个有效的解决方案吗?我尝试了,但得到了错误[InvalidParameterValue:缺少所需的标题“From”。
即使我在mailcomposer中添加了From字段