下面是用于发送电子邮件的消息对象。
message = {
to: toEmail,
from: emailInfo.emailFromAddress,
subject: emailInfo.emailSubjectTemplate,
attachments: [
{
filename: fileName,
content: base64str,
contentId: fileName,
disposition: "attachment"
}
],
html: emailMessageBodyTemplate
};
通过以下代码将内容编码为base64字符串。
const base64_encode = file => {
var bitmap = fs.readFileSync(file);
return new Buffer(bitmap).toString("base64");
};
我不知道哪里出了问题,但出现以下错误。
消息:“内容值必须是长度至少为一个字符的字符串。”
但是当我调试时内容不是空的。
请帮助。
答案 0 :(得分:2)
在此page上,它准确地描述了您的错误。
我相信此错误内容表示您的消息或错误所描述的文字
您不能发送没有内容的电子邮件。
根据API文档,您缺少必需的参数内容。
message = {
to: toEmail,
from: emailInfo.emailFromAddress,
subject: emailInfo.emailSubjectTemplate,
content:[
{
type : 'string',
value : 'message'
}
],
attachments: [
{
filename: fileName,
content: base64str,
contentId: fileName,
disposition: "attachment"
}
],
html: emailMessageBodyTemplate
};
希望这会有所帮助。
答案 1 :(得分:0)
我遇到了同样的问题,在我的情况下,我使用了“xlsx”npm lib,来实现如下解决方案:
$