我有以下代码,我尝试使用Mailgun在Node中发送电子邮件。代码工作正常并发送电子邮件但不附加任何文件。
// 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: "test@test.com",
to: "emailhidden@test.com",
subject: `My Test Email`,
text: 'Hello',
attachments
};
mailgun.messages().send(data, function(error, body) {
console.log(body);
console.log(error);
});
在NPM readme中,它提到了以下内容。
如果附件对象不满足那些有效条件 忽略。可以通过传递数组来发送多个附件 附件参数。数组元素可以是任何一个 有效的类型,每一个都将得到适当的处理。
这是我能找到的唯一的问题。但看起来我的代码满足所有条件。
有什么方法可以调试吗?它目前只是默默地失败了。它发送电子邮件,我收到了,但电子邮件中没有附件。
答案 0 :(得分:2)
我不是100%肯定,但我认为您需要使用attachment
代替attachments
。
例如:
var data = {
from: "test@test.com",
to: "emailhidden@test.com",
subject: `My Test Email`,
text: 'Hello',
attachment: attachments
};
否则mailgun没有看到任何附件,因为它们未在attachment
中指定。