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

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

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

我现在唯一的问题是find一种在Nodejs中签名邮件的方法。 我曾经想过在节点中使用“exec”运行一个opendkim命令,但一直没能弄清楚。 从search中,看起来没有这个模块。

谁可以帮我这个事?

最新版本的Nodemailer支持DKIM签名开箱即用SEStesting。

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(...); 

你可以在https://gist.github.com/2198497find我开发的通过SES发送的dkim-sign邮件的实现。 Ahmad Amarullah在这里发现的PHP实现很受启发: http : //code.google.com/p/php-mail-domain-signer/ 。 我很清楚代码远非干净,但它应该可以帮助您开始。 通过邮件发送的邮件被认为是正确的Gmail和雅虎。 不要犹豫,如果你有问题/不能得到它的工作。