尝试使用mandrill通过电子邮件发送QR码。这是我到目前为止所得到的:
db.get(id, function (err, doc) {
if (err) { fail('Couch', [err, doc]) }
db.attachment.get(id, 'qr-code.png', function (error, image) {
// Base64 encode the image.
var base64 = 'data:image/png;base64,' + new Buffer(image).toString('base64');
到目前为止,我很好。可以在html img标记中使用base64
来呈现qr代码,哇喔!我遇到麻烦的是下一个......
// Email Tickets to client
mandrill('/messages/send-template', {
template_name: 'qr-confirm',
template_content: [],
如果我只是使用merge_vars,那么 template_content
应该是空的吗?
message: {
to: [{email: doc.email, name: doc.name}],
from_email: 'events@example.com',
from_name: 'The Team',
subject: "QR codes attached",
tags: ['qr'],
merge_vars: [{
rcpt: doc.email,
vars: [
{ name: "name", content: doc.name },
{ name: "attendee", content: doc.id },
{ name: "purchaser", content: doc.purchaser }
]
}],
好的,我是否同时需要attachments
和images
,或者如果我使用图片会自动附加它们吗?
attachments: [
{type: "image/png", name: "qr-code.png", content: base64}
],
images: [
{type: "image/png", name: "qr-code.png", content: base64}
],
}
}, function(error, manReply) { console.log(error || manReply) }); // manReply, haha
});
});
好的,所有这些,我仍然得到一个破碎的附件。有一个附件,它只是破坏1kb,而不是内联渲染。
任何帮助都会摇滚!
答案 0 :(得分:4)
好的,问题已解决,只是在内容参数中不包含data:image/png;base64,
:)