邮件中证书链错误中的自签名证书

时间:2018-06-08 15:47:34

标签: node.js smtp nodemailer

我试着写一个简单的邮件程序。我使用了节点邮件程序 SMTP协议模块。我执行了。但它显示如下错误:

  

邮件中的证书链错误中的自签名证书

问题是什么?

var express = require('express');
var app=express();
var nodemailer = require('nodemailer');
var smtpTransport = require('nodemailer-smtp-transport');

app.get('/nodemail', function(req, res, next) {

    var transporter = nodemailer.createTransport(smtpTransport({
        service: 'Gmail',
        host: 'smtp.gmail.com',
        port: 465,
        auth: {
            user: 'demodevelopers6@gmail.com',
            pass: '***********'
        }
    }));
    var link="https://codeforgeek.com/2016/06/node-js-redis-tutorial-building-email-verification-system/";
    transporter.sendMail({
        from: "demodevelopers6@gmail.com",
        subject:"sailjstutorials" ,
        to: "vignesh.mack03@gmail.com",
        html : "Hello"+"vignesh <br> Please Click on the link to verify your email.<br><a href="+link+">Click here to verify</a>"
    }, function(error, info) {
        if (error) {
            return console.log(error);
        }
        console.log('Message %s sent: %s', info.messageId, info.response);
        console.log("Mail sent successfully");
        res.write("Mail sent successfully");
    });
});


app.listen(8086,function()
{
    console.log("port listening");
});

enter image description here

1 个答案:

答案 0 :(得分:1)

我刚才遇到了同样的问题,请尝试查看下面的链接以获得更详细的答复。

Error: self signed certificate in certificate chain Nodejs nodemailer express

使用tls.rejectUnauthorized = false可以避免该问题。

示例:

        let transporter = nodemailer.createTransport({
            service: 'gmail',
            auth: {
                user: 'myemail@gmail.com', 
                pass: 'password' 
            },
            tls: {
                rejectUnauthorized: false
            }
        });