Why can't I send emails in Nodejs, Ubuntu 16.04 using nodemailer.

July 30, 2017 614 views
Node.js Ubuntu 16.04

I am using nodemailer to send mails, I was available to send mails through it in c9.io but I can't in my droplet with Ubuntu 16.04, here is my actual code to send emails:

var sendEmail = function(subjectText, bodyText) {

  var nodemailer = require('nodemailer');

  var transporter = nodemailer.createTransport({
    service: 'gmail',
    port: 443,
    options: {
      debug: true,
    },
    auth: {
        user: 'altoqueMichael@gmail.com',
        pass: '****'
    }
  });

  // verify connection configuration
  transporter.verify(function(error, success) {
     if (error) {
          console.log(error);
     } else {
          console.log('Server is ready to take our messages');
     }
  });

  var mailOptions = {
    from: 'altoqueMichael@gmail.com',
    to: 'altoqueMichael@gmail.com',
    subject: subjectText,
    text: bodyText
  }

  transporter.sendMail(mailOptions, function(error, info) {
    if(error) {
        console.log('Email couldnt be sent.\n', error.response);
    } else {
        console.log('Email sent: ' + info.response);
    }
  });
}

module.exports = {
  sendEmail: sendEmail
}

I have already tried shutting down the firewall, what can I do to make this work? Do you know another alternative to send mails via node'js in Digital Ocean servers?

1 Answer

Hi @michaelszer

If your account with DigitalOcean is new, then sometimes all SMTP is blocked.
You need to create a ticket with Support via the control panel and ask to get SMTP unblocked.

Have another answer? Share your knowledge.