我尝试使用以下代码在Node中使用Mailgun发送电子邮件。该代码可以正常工作,并且可以发送电子邮件,但不附加任何一个文件。
// pdfA and pdfB are both buffers defined earlier
let attachmentA = new mailgun.Attachment({data: pdfA, filename: `pdfA.pdf`, contentType: "application/pdf", knownLength: pdfA.length});
let attachmentB = new mailgun.Attachment({data: pdfB, filename: `pdfB.pdf`, contentType: "application/pdf", knownLength: pdfB.length});
let attachments = [attachmentA, attachmentB];
var data = {
from: "[email protected]",
to: "[email protected]",
subject: `My Test Email`,
text: 'Hello',
attachments
};
mailgun.messages().send(data, function(error, body) {
console.log(body);
console.log(error);
});
在NPM readme中,它提到了以下内容。
如果附件对象不满足这些有效条件,则为
忽略了。可以通过在数组中传递数组来发送多个附件
附件参数。数组元素可以是以下任意一种
有效的类型,每种类型都将得到适当处理。
对于出了什么问题,这是我唯一能找到的东西。但是看起来我的代码满足所有条件。
有什么办法可以调试吗?当前只是默默失败。它发送了电子邮件,但我收到了,但是电子邮件中没有附件。
最佳答案
我不确定100%,但是我认为您需要使用attachment
而不是attachments
。
例如:
var data = {
from: "[email protected]",
to: "[email protected]",
subject: `My Test Email`,
text: 'Hello',
attachment: attachments
};
否则,mailgun将看不到任何附件,因为未在
attachment
中指定附件。关于javascript - Node Mailgun不附加文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47028480/