如何使用发送邮件从本地主机使用NodeJS发送加密/ TLS电子邮件

时间:2018-11-19 12:55:30

标签: ssl smtp lets-encrypt nodemailer starttls

我希望能够在不使用gmail或其他SMTP服务器的情况下从本地域发送电子邮件。

我当前正在使用SendMail

const sendmail = require('sendmail') ({
    logger: {
        debug: console.log,
        info: console.info,
        warn: console.warn,
        error: console.error
    },
    dkim: {
        privateKey: dkimPrivateKey,
        keySelector: 'default'
    },
});


sendmail({
        from: 'foo@mydomain.com',
        to: 'mygmail@gmail.com',
        subject: 'test sendmail',
        html: 'Mail of test sendmail ',
    }, function(err, reply) {
        console.log(err && err.stack);
        console.dir(reply);
});

这确实有效,但是当我在Gmail帐户中收到电子邮件并查看邮件信息时, Google将其标记为“安全性:未加密”

据我了解,我需要使用TLS创建“安全”连接。我已经有来自LetsEncrypt的证书和密钥,并且我的域已经在使用HTTPS。如何加密/使用TLS我的外发电子邮件?

或者有更好的包装吗?我尝试使用NodeMailer,但我的电子邮件仅被添加到“队列”,而从未发送。问题是什么?

1 个答案:

答案 0 :(得分:0)

TLS加密无需对HTTP证书进行任何操作。这适用于STARTTLS。您在邮件日志中找到任何排队的原因了吗?希望端口不被阻塞。 您可以尝试以下Node库:https://github.com/pepipost/pepipost-sdk-nodejs

它执行TLS加密,并且可以通过HTTP而不是SMTP进行工作。