如何使用SendGrid将图像嵌入到Node.js中的html邮件中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用SendGrid将图像嵌入到Node.js中的html邮件中相关的知识,希望对你有一定的参考价值。
我想发送带有一些图像的html邮件。 我正在使用名为'sendgrid-nodejs'的库。 但是,我不能这样做,并找到任何与之相关的文档。
我的守则。
const fs = require('fs');
function base64_encode(file) {
var bitmap = fs.readFileSync(file);
return new Buffer(bitmap).toString('base64');
};
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const msg = {
to: 'to address',
from: 'from address',
subject: 'subject',
html: '<strong>Some Text</strong><img src="cid:12345" alt="test image" />',
files: [
{
filename: 'test image',
contentType: 'image/jpeg',
cid: '12345',
content: base64_encode('test.jpg')
}
]
};
try {
sgMail.send(msg)
} catch(err) {
console.log(err)
}
如果您需要更多信息来解决此问题。请告诉我。谢谢。
答案
您需要将disposition: inline
添加到您的附件中。
const msg = {
to: 'to address',
from: 'from address',
subject: 'subject',
html: '<strong>Some Text</strong><img src="cid:12345" alt="test image" />',
files: [
{
filename: 'test image',
contentType: 'image/jpeg',
cid: '12345',
content: base64_encode('test.jpg'),
disposition: 'inline'
}
]
};
以上是关于如何使用SendGrid将图像嵌入到Node.js中的html邮件中的主要内容,如果未能解决你的问题,请参考以下文章
使用 sendgrid 和 node.js 将日志文件附加到电子邮件
在 Node.js 的 SendGrid 中向“发件人”字段添加名称