无法使用nodemailer在nodejs中发送电子邮件

时间:2017-03-22 07:38:20

标签: javascript node.js nodemailer

我使用了nodemailer和我的代码,如下所示:

const nodemailer = require('nodemailer');  
module.exports = function(obj) {
    return new Promise((resolve, reject) => {
        console.log('In root to mail send file...');
        let transporter = nodemailer.createTransport({
            service: 'gmail',
            auth: {
                user: 'myemail@gmail.com',
                pass: 'my password'
            }
        });
        let mailOptions = {
            from: '<myemail@gmail.com>', // sender address
            to: obj.email, // list of receivers
            subject: obj.subject, // Subject line
            text: obj.msg, // plain text body
            html: obj.html_msg // html body
        };
        console.log('sending function');
        transporter.sendMail(mailOptions, (error, info) => {
            if (error) {
                console.log('Error due to send mail' + error);
                reject(error);
            } else {
                console.log('Message %s sent: %s', info.messageId, info.response);
                resolve(info);
            }
        });
    });
}

当我运行代码时,我收到此错误

{ 
  Error: connect ETIMEDOUT 74.125.200.109:465    at
  Object.exports._errnoException (util.js:1022:11)     at
  exports._exceptionWithHostPort (util.js:1045:20 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)   
 code: 'ECONNECTION',
 errno: 'ETIMEDOUT',
 syscall: 'connect',
 address: '74.125.200.109',
 port: 465,
 command: 'CONN' 
}

我不知道为什么,如果有人知道为什么会发生这个错误,请帮帮我。

我已经在我的Gmail帐户中设置了Access for less secure apps: turn on

1 个答案:

答案 0 :(得分:1)

您可能会在网络代理后面导致超时错误。