nodemailer错误:证书链中的自签名证书

时间:2017-08-03 21:15:37

标签: javascript node.js express nodemailer

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

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时,我曾经有过这个问题,现在我正在使用它,我认为它会消失,但它没有。我在这做错了什么?

2 个答案:

答案 0 :(得分:17)

好的,这是因为反病毒软件。我发誓这样的事让我觉得好像要放弃。

答案 1 :(得分:1)

我也一样。我的防病毒软件是 AVG 。您可以转到“设置”>“组件”>“电子邮件屏蔽”>“自定义”>“ SSL扫描”,然后取消选中“扫描SSL连接”。

Avast 中,转到“设置” /“保护” /“核心防护” /“配置防护设置” /“邮件防护” 和取消选中“扫描出站电子邮件(SMTP)”