Skip to content

Instantly share code, notes, and snippets.

@DiegoPinho
Created February 6, 2018 16:31
Show Gist options
  • Select an option

  • Save DiegoPinho/053343634f74570d875ddf8ca2c84e68 to your computer and use it in GitHub Desktop.

Select an option

Save DiegoPinho/053343634f74570d875ddf8ca2c84e68 to your computer and use it in GitHub Desktop.

Revisions

  1. DiegoPinho created this gist Feb 6, 2018.
    40 changes: 40 additions & 0 deletions nodemailer.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,40 @@
    'use strict';
    const nodemailer = require('nodemailer');

    // Generate test SMTP service account from ethereal.email
    // Only needed if you don't have a real mail account for testing
    nodemailer.createTestAccount((err, account) => {

    // create reusable transporter object using the default SMTP transport
    let transporter = nodemailer.createTransport({
    host: 'smtp.ethereal.email',
    port: 587,
    secure: false, // true for 465, false for other ports
    auth: {
    user: account.user, // generated ethereal user
    pass: account.pass // generated ethereal password
    }
    });

    // setup email data with unicode symbols
    let mailOptions = {
    from: '"Fred Foo 👻" <foo@example.com>', // sender address
    to: 'bar@example.com, baz@example.com', // list of receivers
    subject: 'Hello ✔', // Subject line
    text: 'Hello world?', // plain text body
    html: '<b>Hello world?</b>' // html body
    };

    // send mail with defined transport object
    transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
    return console.log(error);
    }
    console.log('Message sent: %s', info.messageId);
    // Preview only available when sending through an Ethereal account
    console.log('Preview URL: %s', nodemailer.getTestMessageUrl(info));

    // Message sent: <b658f8ca-6296-ccf4-8306-87d57a0b4321@example.com>
    // Preview URL: https://ethereal.email/message/WaQKMgKddxQDoou...
    });
    });