Sending email from local host with Nodemailer

tonymx227 picture tonymx227 · Aug 28, 2015 · Viewed 22.4k times · Source

I'd like to send mails on my local server but it seems not working with Nodemailer and NodeJS.

Is there any solutions to send mails from local?

    var contact = {subject: 'test', message: "test message", email: '[email protected]'};
    var to = "[email protected]";
    var transporter = nodemailer.createTransport();
    transporter.sendMail({
      from: contact.email,
      to: to,
      subject: contact.subject,
      text: contact.message
    });

Answer

suckschool picture suckschool · Jan 9, 2019
  const transporter = nodemailer.createTransport({
    port: 25,
    host: 'localhost',
    tls: {
      rejectUnauthorized: false
    },
  });

  var message = {
    from: '[email protected]',
    to: '[email protected]',
    subject: 'Confirm Email',
    text: 'Please confirm your email',
    html: '<p>Please confirm your email</p>'
  };

  transporter.sendMail(message, (error, info) => {
    if (error) {
        return console.log(error);
    }
    console.log('Message sent: %s', info.messageId);
  });

I'm current triggering this through an restful api on express.js

this should work, i used this to set up my postfix on digitalocean: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-as-a-send-only-smtp-server-on-ubuntu-16-04