Das Problem, das ich lief, ist, dass ich nur eine E-Mail mit Anlagen oder Vorlagedaten senden kann, aber ich habe keine Möglichkeit gefunden, beide zu senden.Senden von E-Mails mit Anlagen und HTML-Daten mit Hilfe von nodemailer
Hier ist mein Code:
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);
});
Wenn ich es so mache, oben gezeigt, den Namen Template-Variable macht, aber die Bilder zeigen nicht auf. Wenn ich stattdessen
var send = transporter.templateSender(template, ...
dann die Anlagen rendern, und nicht die Vorlage Variable.
Ich weiß, dass ich ein Templating-Paket wie Jade oder Lenker für diese Art von Sache verwenden könnte, aber das scheint wie Overkill, wenn nodemailer die ganze Funktionalität hat, die ich brauche.
Jede Hilfe wäre willkommen. Danke!
Vielen Dank eine Million, das ging mir wirklich auf die Nerven. Jetzt kann ich endlich das angehängte Bild sehen. Jetzt müssen Sie nur herausfinden, wie Sie es tatsächlich in ein img-Tag von einem Puffer einbetten und alles fertig ist. Würdest du zufällig wissen, wie das geht? – AdelaN
@AdelaN, können Sie diesen Puffer zu base64 konvertieren und an das img-Tag übergeben – roneo
Versucht, dass, hat nicht funktioniert. Was schließlich funktionierte, war es, die 'src' mit der Inhaltskennung, d. H.' '... – AdelaN