nodemailer error: self signed certificate in certificate chain

nodemailer error: self signed certificate in certificate chain

我用谷歌搜索了这个,但找不到我的问题的答案。这是我的代码

var xoauth2 = require('xoauth2');

var transporter = nodemailer.createTransport({
  service: "Gmail",
  auth: {
    xoauth2: xoauth2.createXOAuth2Generator({
      user: "dude@gmail.com", 
      clientId: "-",
      clientSecret: "-",
      refreshToken: "-"
       })
  }
});

app.post('/send', function (req, res) {
  var mailOptions = {
      from: 'dude',
      to: 'derp@gmail.com',
      subject: 'Email Example',
      text: 'username: ' + req.body.firstname,
      attachments:[
        {
          filename: req.files.myfile.name,
          content: new Buffer(req.files.myfile.data,'utf-8')
        }
      ]
  };

  transporter.sendMail(mailOptions, function(error, info){
    if(error){
      console.log(error);
      res.send(error);
    } else {
      console.log('Message sent!!');
      res.send('sent');
    }
  });
});

当我不使用 oauth2 时,我曾经遇到过这个问题,现在我使用它,我认为它会消失,但它没有。我在这里做错了什么?

好的,这是因为防病毒软件。我发誓这样的事情让我想戒烟。

我也一样。我的防病毒软件是 AVG。您可以转到“设置”>“组件”>“Email Shield”>“自定义”>“SSL 扫描”,然后 取消选中 "Scan SSL connections".

,而不是在 AVG 中关闭防病毒软件。

Avast去Settings/Protection/CoreShields/Configure屏蔽settings/Mail屏蔽 并且 取消选中 "Scan outbound emails (SMTP)"