Le problème que j'ai rencontré est que je ne peux envoyer qu'un e-mail avec des pièces jointes OU des données de modèle, mais je n'ai pas trouvé de moyen d'envoyer les deux.
Voici mon code :
var EmailTemplate = require('email-templates').EmailTemplate;
var template = new EmailTemplate('templates/welcome');
template.render({}, function(err, results) {
var send = transporter.templateSender({
from: '',
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: 'Bienvenue sur notre site!'
}, {name: user.firstName}, callback);
});
Si je le fais de la manière indiquée ci-dessus, la variable de modèle de nom est rendue, mais les images ne s'affichent pas. Si je fais plutôt
var send = transporter.templateSender(template, ...
alors les pièces jointes sont rendues, mais pas la variable de modèle.
Je sais que je pourrais utiliser un package de templating comme Jade ou Handlebars pour ce genre de chose, mais cela semble excessif quand nodemailer a toute la fonctionnalité dont j'ai besoin.
Toute aide serait appréciée. Merci!