如何通过启用DKIM通过nodemailer
发送直接电子邮件?
我尝试了
const nodemailer = require('nodemailer')
const directTransport = require('nodemailer-direct-transport')
const transporter = nodemailer.createTransport(
directTransport({
dkim: {
domainName: "mydomain.com",
keySelector: "mail",
privateKey: "<generated private key>"
}
}))
require('express')().get('/test', (req, res, next) => {
console.log('sending mail')
mailer.sendMail({
from: 'support@mydomain.com',
to: 'pmmEoRzqH5EyTO@dkimvalidator.com',
subject: 'test email',
html: 'Email content'
}, (err, reply) => {
console.log('email sent')
console.log(err && err.stack)
console.dir(reply)
})
res.send('test').end()
})
我还将公共密钥作为TXT记录添加到我的DNS面板中。
发送电子邮件是发送的,但是我在http://dkimvalidator.com/results
上没有DKIM。DKIM信息:DKIM签名
此消息不包含DKIM签名
是否有人成功了?这看起来是一种直接的便宜方式,可以在不设置SMTP服务器的情况下发送电子邮件,但我没有看到任何帖子。
最后,我想出了自己的解决方案。
nodemailer
是大项目,但看起来缺乏维护器。默认情况下,非BUG报告问题是关闭的。
我切换到sendmail,然后一切都像魅力一样