Při kódování HTML e-mailů zcela jistě potřebujeme otestovat šablony v poštovních klientech a zařízení. Pomoci nám mohou externí služby, které HTML e-mailu pošlou na vybraný e-mail nebo si jej můžeme poslat např. PHP funkcí mail()
.
Frontend developeři, kteří používají Node.js, mohou sáhnout po knihovně nodemailer. V článku si ukážeme instalaci knihovny a ukázkový příklad konfigurace.
Ve své složce spustíme příkaz mkdir nodemailer && cd nodemailer && npm init
. CLI nás vyzve k doplnění údají pro package.json
.
Následně nainstalujeme knihovnu nodemailer
příkazem npm install nodemailer --save
.
Nyní přidáme do package.json
do scripts příkaz:
"scripts": { "sendemail": "node sendemail.js" },
Nyní si vytvoříme soubor sendemail.js
, jeho obsah bude:
var nodemailer = require('nodemailer') var fs = require('fs') var email = 'mail.html' var transporter, mailOptions, mailSettings fs.readFile(email, 'utf8', (err, data) => { mailOptions = { from: 'example@domain.tld', to: 'my-email@domain.tld', subject: 'E-mail subject', html: data } mailSettings = { host: 'smtp.gmail.com', port: 25, secure: false, auth: { user: 'example@domain.tld', pass: 'mypassword' } } transporter = nodemailer.createTransport(mailSettings).sendMail(mailOptions, (error, info) => { if (error) { console.log(error) } else { console.log('Email sent: ' + info.response) } }) })
V objektu mailOptions = {}
definujeme odesílatele, příjemce, předmět a obsah HTML šablony mail.html
(v tomto souboru se nachází nakódovaná šablona), a v objektu mailSettings = {}
definujeme nastavení SMTP serveru.
Na závěr spustíme příkaz příkaz npm run sendemail
.
Tímto způsobem můžeme snadno a efektivně odesílat e-maily.