gpt4 book ai didi

javascript - 使用 sendgrid 发送带有图像的邮件

转载 作者:太空宇宙 更新时间:2023-11-04 01:56:47 24 4
gpt4 key购买 nike

“上面发送电子邮件的代码是代码。iam 厌倦了挠头,但仍然无法看到邮件中的图像。我正在将图像转换为 Base 64 编码字符串,并且遵循 sendgrid 语法仍然无法发送图像。我不知道这里出了什么问题。:”

var app = require("../../../server/server");
var base64Img = require("base64-img");

let status = null;
let textBody,
htmBody = null;
var DataSource = require("loopback-datasource-juggler").DataSource;
var dsSendGrid = new DataSource("loopback-connector-sendgrid", {
api_key: app.customConfig.mail.sendgrid.api_key
});

var fs = require("fs");

function base64_encode(file) {
var bitmap = fs.readFileSync(file);
return new Buffer(bitmap).toString("base64");
}

function base64_decode(base64str, file) {
var bitmap = new Buffer(base64str, "base64");
fs.writeFileSync(file, bitmap);
console.log(
"******** File created from base64 encoded string ********",
base64str
);
}

var base64str = base64_encode("../../../images/Campaign-images/Christmas.png");

let message = {
to: "somebody@gmail.com",
from: "noreply@gmail.com",
subject: "test",
text: "hi",
html: '<img src="cid:myimagecid"/>',
attachment: [
{
filename: "Christmas2.png",
content: base64str,
ContentId: "myimagecid"
}
]
};
console.log(message);
app.models.Email.send(message)
.then(result => {
return "sent";
})
.catch(err => {
console.log(err);

return "failed";
});

最佳答案

这段代码肯定可以工作

//imageData= "data:image/png;base64,ine793nfdsf......."

imageb64 = imageData.replace('data:image/png;base64,' , '');
//remove data:image/png;base64,

const msg = {
to: 'example@gmail.com',
from: 'test@gmail.com',
subject: "image attached",
html :'<img src="cid:myimagecid"/>',
attachments: [
{
filename: "imageattachment.png",
content: imageb64,
content_id: "myimagecid",
}
]
};

sgMail.send(msg);

关于javascript - 使用 sendgrid 发送带有图像的邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47655881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com