"위의 전자 메일을 보내는 코드는 .iam입니다. 내 머리를 긁어 지긴했지만 여전히 이미지를 메일에서 볼 수 없습니다. 기본 64 인코딩 된 문자열로 이미지를 변환하고 있습니다. 나는 그것을 볼 수있는 https://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/index.htmlsendgrid를 사용하여 이미지가있는 메일을 보내려면
에 보면 잘못된 여기가는 : "
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: "[email protected]",
from: "[email protected]",
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";
});
감사합니다. 메시지 본문에 별도의 첨부 파일이 아닌 이미지를 보여주는 데 도움을 줄 수 있습니까? – rosh
죄송합니다. 그렇게하지는 않았지만, 텍스트 대신 HTML로 보내고 img src를 사용해야한다는 것을 알고 있습니다. – libik
나는 그것을 시도했다. 그러나 그것은 같은 결과를 줬다. – rosh