这是我的传输对象:
if(req.body.bcc === ''){
req.body.bcc = '';
}
if (req.body.cc === '') {
req.body.cc = '';
}
if (req.body.subject === '') {
req.body.subject = 'No subject';
}
if (req.body.source === '') {
req.body.source = '<EMAIL OMITTED>';
}
if (req.body.messageBody === '') {
req.body.messageBody = 'No body text has been entered';
}
var transmission = {
recipients: [
{
address: {
email: req.body.to,
name: 'To recipient'
},
substitution_data: {
recipient_type: 'Original'
}
}
],
cc: [
{
address: {
email: req.body.cc,
},
substitution_data: {
recipient_type: 'CC'
}
}
],
bcc: [
{
address: {
email: req.body.bcc,
},
substitution_data: {
recipient_type: 'BCC'
}
}
],
content: {
from: {
name: req.body.source,
email: req.body.source
},
subject: req.body.subject,
text: req.body.messageBody,
html: `<p></p>`
}
};
我有将输入的数据发送到 req.body 的 HTML 输入表单,但如果没有req.body.cc
或req.body.bcc
内容,SparkPost 会抛出一个错误,提示无法访问实体,并且:
name: 'SparkPostError',
errors:
[ { message: 'Invalid header',
description: 'Error while validating header CC: Missing header content',
code: '3002' } ],
statusCode: 422 }
如果我在 cc 和 bcc 字段中输入一个像 1 这样的随机数,那么消息会发送给“收件人”用户,但 sparkpost 告诉我消息未能发送给 2 个收件人。我觉得我在这里遗漏了一些东西,因为如果没有密件抄送或抄送收件人,那么它应该只发送到“收件人”字段中的电子邮件,我不应该在抄送或密件抄送中输入随机乱码来得到它发送电子邮件。有人遇到过这个问题或知道如何解决这个问题吗?
也许我可以检查一下该字段是否为空白,将其替换为一些默认值,让 sparkpost 知道我不会尝试向那里的任何人发送电子邮件,例如占位符。但是如果有这样的东西,我还没有找到。