Node.js 无法通过节点js发送电子邮件,尝试了几种方法

Node.js 无法通过节点js发送电子邮件,尝试了几种方法,node.js,smtp,gmail,nodemailer,Node.js,Smtp,Gmail,Nodemailer,上面是我通过NodeJS发送电子邮件的代码,但我经常遇到如下超时错误 {错误:连接ETIMEDOUT 74.125.24.109:587 在TCPConnectWrap.afterConnect[as oncomplete](net.js:1191:14) 错误号:'ETIMEDOUT', 代码:“ECONNECTION”, 系统调用:“连接”, 地址:'74.125.24.109', 端口:587, 命令:'CONN'} 对于以下链接,我还尝试了另一种基本方法:但效果不太好。 我已经打开了允许

上面是我通过NodeJS发送电子邮件的代码,但我经常遇到如下超时错误

{错误:连接ETIMEDOUT 74.125.24.109:587
在TCPConnectWrap.afterConnect[as oncomplete](net.js:1191:14)
错误号:'ETIMEDOUT',
代码:“ECONNECTION”,
系统调用:“连接”,
地址:'74.125.24.109',
端口:587,
命令:'CONN'}

对于以下链接,我还尝试了另一种基本方法:但效果不太好。
我已经打开了允许在我的谷歌帐户上使用不太安全的应用程序

除此之外,我还尝试了以下链接中的方法:但它仍然无法工作,我生成了所有
客户端id
客户端密钥
访问令牌
、和
刷新令牌

有没有人有关于通过node js发送电子邮件的最新指南或解决方案


谢谢

请确保打开你的,否则你的电子邮件将无法通过

然后,您可能想尝试以下示例:

var nodemailer = require('nodemailer');

var transporter = nodemailer.createTransport({
    host: "smtp.gmail.com",
    secureConnection: false,
    port: 587,
    tls: {
        ciphers: 'SSLv3'
    },
    requireTLS: true,
    auth: {
        user: 'mygmail',
        pass: 'mypass'
    }
});

var mailOptions = {
    from: 'mygmail',
    to: 'receiver gmail',
    subject: 'Sending Email using Nodemailer',
    text: 'That was easy!'
};

transporter.sendMail(mailOptions, (error, info) => {
    if (error)
        return console.log(error);

    console.log('Email sent: ' + info.response);
});

这是一个网络限制问题

请在您的移动网络中尝试相同的方法,它将起作用

{
    let transporter = nodemailer.createTransport({
        service: 'gmail',
        auth: {
            user: 'mymail',
            pass: 'mypass'
        }
    });

    let mailOptions = {
        from: 'mygmail',
        to: 'receiver gmail',
        subject: 'Sending Email using Nodemailer',
        text: 'That was easy!'
    };

        transporter.sendMail(mailOptions, (error, info)=>{
            if (error) {
                console.log(error);
            } else {
                console.log('Email sent ' + info.response');
            }
        }); 
    res.json({success: 'whatever message you plan on writing'});
}
router.get('/mailTest', (req, res) => {
   let transporter = nodemailer.createTransport({
       service: 'gmail',  
       auth: {
           user: "mrmanagementbbsr@gmail.com", // generated ethereal user
           pass: "Test@123" // generated ethereal password
       }
   });

   let mailOptions = {
       from: "mrmanagementbbsr@gmail.com", // sender address
       to: 'nsubhadipta@gmail.com', // list of receivers
       subject: "test subject", // Subject line
       text: 'demo text'
   };
   // send mail with defined transport object
   transporter.sendMail(mailOptions, (error, info) => {
       if (error) {
           res.json({ status: -1, message: 'Error Occured', error: error });
       }
       else {
           res.json({ status: 1, message: "Email Sent" });
       }
   });

});