Проблема, с которой я столкнулся, заключается в том, что я могу отправлять только сообщения электронной почты с вложениями или данными шаблона, но я не нашел способ отправить их.Отправка почты с вложениями и html-данными с помощью nodemailer
Вот мой код:
var EmailTemplate = require('email-templates').EmailTemplate;
var template = new EmailTemplate('templates/welcome');
template.render({}, function(err, results) {
var send = transporter.templateSender({
from: '<[email protected]>',
html: results.html,
attachments: [{
filename: 'file1.png',
path: 'templates/file1.png',
cid: 'file1'
}, {
filename: 'file2.png',
path: 'templates/file2.png',
cid: 'file2'
}]
});
send({
to: String(user.emailAddress),
subject: 'Welcome to the Our Site!'
}, {name: user.firstName}, callback);
});
Если я делаю это так, как показано выше, переменная шаблона имя делает, но картинки не отображаются. Если я вместо этого сделаю
var send = transporter.templateSender(template, ...
тогда вложения визуализируют, а не переменную шаблона.
Я знаю, что я могу использовать шаблон для шаблонов, например, Jade или Handlebars для такого рода вещей, но это похоже на излишний, когда у nodemailer есть все необходимые функции.
Любая помощь будет оценена по достоинству. Спасибо!
Спасибо, миллион, это действительно нервировало. Теперь я могу, наконец, увидеть прикрепленное изображение. Просто нужно понять, как фактически внедрить его в тег img из буфера, и все это сделано. Не могли бы вы узнать, как это сделать? – AdelaN
@AdelaN, вы можете преобразовать этот буфер в base64 и передать его в тег img – roneo
Пробовал, что не работал. В конечном итоге работала с этим 'src' с идентификатором содержимого, то есть' '... – AdelaN