In Node.js è semplice inviare email con allegati utilizzando Nodemailer.
La soluzione consiste nell'utilizzare l'opzione attachments, ossia un array di oggetti che contengono le informazioni sui file da allegare.
'use strict';
const nodemailer = require('nodemailer');
const path = require('path');
const ABSPATH = path.dirname(process.mainModule.filename);
const transporter = nodemailer.createTransport({
service: 'Gmail',
auth: {
user: 'email@gmail.com',
pass: 'password'
}
});
const options = {
from: 'email@gmail.com',
to: 'recipient@site.tld',
subject: 'Test',
text: 'Hello World',
attachments: [
{
path: ABSPATH + '/images/test.jpg'
}
]
};
transporter.sendMail(options, (error, info) =>{
if(error) {
//...
} else {
//...
}
});