【发布时间】:2018-07-12 05:36:18
【问题描述】:
我想使用 sendgrid 从节点 js 发送一封带有嵌入图像的电子邮件。我使用以下代码
var base64Img = require('base64-img');
const sgMail = require('@sendgrid/mail');
var base64str = base64_encode("logo.png");
function base64_encode(file) {
var bitmap = fs.readFileSync(file);
return new Buffer(bitmap).toString("base64");
}
sendMail(["example1@gmail.com"],base64str);
function sendMail(emails,data)
{
sendgrid.send({
to: emails[0],
from: 'example2@gmail.com',
subject: 'Test Mail',
attachments: [
{
filename: "logo.png",
type : "image/png",
content: data,
content_id: "myimagecid",
disposition : "inline"
}
],
html:"Please look on the image <img src='content_id:myimagecid' alt='no image found'/>",
}, function (err) {
if (err) {
response.json({ message: 'Selected but Mail not sended and Error is'+err });
console.log("Mail error",err);
} else {
console.log("Success Mail sended ");
response.json({ message: 'Selected and Mail sended' });
}
});
}
这里我使用了 disposition : "inline",但图像仍然作为附件发送。任何人都可以帮助我吗?
【问题讨论】:
-
嗨,我是来自linkedin的Libor。好多年没用过sendgrid了,实在是帮不上忙,抱歉。
-
您解决了这个问题吗?
标签: node.js image sendmail sendgrid