2012-03-25 3 views
7

Я пишу приложение Nodejs, которое должно быть в состоянии отправлять электронную почту. До сих пор я использовал Postfix совместно с модулем Nodejs под названием Nodemailer для отправки электронной почты через SAS Amazon.Подпись электронной почты с DKIM в Node.js

Postfix занимается обработкой подписки DKIM, но теперь я хочу избавиться от постфикса и просто использовать Nodemailer для отправки электронной почты через SAS Amazon.

Моя единственная проблема теперь заключается в поиске способа подписывать электронные письма в Nodejs. Я думал о запуске команды opendkim, используя «exec» в узле, но не смог понять это. Из поиска тоже нет модулей.

Может ли кто-нибудь помочь мне в этом?

ответ

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

Ой, я не знал об этом. Спасибо, что поделились. – Ryan

+1

Похоже, в NM v1.8 они меняют его на использование nodemailer-dkim NPM –

5

вы можете найти в https://gist.github.com/2198497 реализация, которую я разработал для отправки подписей dkim, отправленных через SES. Он сильно вдохновлен внедрением php Ахмадом Амаруллой, найденным здесь: http://code.google.com/p/php-mail-domain-signer/. Я хорошо знаю, что код далеко не чист, но он должен помочь вам приступить к работе. Письма, отправленные через него, считаются правильными gmail и yahoo. Не стесняйтесь, если у вас есть вопросы/не можете заставить его работать.

+1

Вы рок! Большое спасибо за это. Вы должны подумать о том, чтобы добавить его к npm. – Ryan

Смежные вопросы