在Node.js中使用DKIM签署电子邮件

Rya*_*yan 7 javascript dkim node.js amazon-ses

我正在编写一个需要能够发送电子邮件的Nodejs应用程序.到目前为止,我已经将Postfix与名为Nodemailer的Nodejs模块结合使用,通过Amazon SES发送我的电子邮件.

Postfix一直在处理DKIM签名,但现在我希望摆脱postfix并只使用Nodemailer通过Amazon SES发送电子邮件.

我现在唯一的问题是找到一种在Nodejs中签署电子邮件的方法.我曾经想过在节点中使用"exec"运行一个opendkim命令但是却无法解决这个问题.从搜索开始,看起来也没有模块.

谁可以帮我这个事?

And*_*ris 8

Nodemailer的最新版本支持开箱即用的DKIM签名,也使用SES进行测试.

var transport = nodemailer.createTransport("SES", {
    AWSAccessKeyID: "AWSACCESSKEY",
    AWSSecretKey: "AWS/Secret/key"
});

// all messages sent with *transport* are signed with the following options
transport.useDKIM({
    domainName: "example.com",
    keySelector: "dkimselector",
    privateKey: fs.readFileSync("private_key.pem")
});

transport.sendMail(...);
Run Code Online (Sandbox Code Playgroud)


小智 5

你可以在https://gist.github.com/2198497找到我开发的通过SES发送的dkim-sign邮件的实现.它受到Ahmad Amarullah在这里发现的php实现的启发:http://code.google.com/p/php-mail-domain-signer/.我很清楚代码远非干净,但它应该可以帮助您入门.通过它发送的邮件被gmail和雅虎认为是正确的.如果您有疑问/无法使其发挥作用,请不要犹豫.