我正在使用nodemailer作为我的微服务的一部分发送电子邮件,我收到客户的投诉,内容涉及Outlook如何自动删除文本正文中的换行符。 我无法通过重新配置Outlook解决此问题,因为这必须在无数客户上完成。
我调查了在mailOptions对象中使用“ html”键而不是“ text”键的问题,
简短示例:
const decodedInnerBody = iconv.decode(Buffer.from(innerBody, 'base64'),'iso-8859-8')
const request = {
mailOptions: {
from: from,
to: to,
bcc: bcc,
cc: cc,
subject: subject,
text: decodedInnerBody,
attachedZipName: attachedZipName
},
documents: []
}
然后:
this.transporter.sendMail(mailOptions).then(res => {
logger.info(`E-mail successfuly sent from ${mailOptions.from} to ${mailOptions.to}. - ${transactionId}`, {});
return resolve(res);
}).catch(err => {
logger.error(`E-mail failed to send from ${mailOptions.from} to ${mailOptions.to}. - ${transactionId}`, {});
return reject(err);
})
我的电子邮件正文从xml文件中刮出,然后从base64转换为我所需的编码(iso-8859-8),似乎可以正确保留所有换行符,但有时Outlook会随意删除这些换行符。 我想配置nodemailer,以便它始终保留所有换行符。 能做到吗? 另外,如果有人确定在不更改Outlook配置的情况下无法完成此操作,请也告诉我。 谢谢。
答案 0 :(得分:0)
尝试创建同时包含纯文本和HTML MIME部分的消息。