Подписание электронных писем с DKIM в Node.js - PullRequest
7 голосов
/ 25 марта 2012

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

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

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

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

Ответы [ 2 ]

8 голосов
/ 03 апреля 2012

Последняя версия 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(...);
5 голосов
/ 25 марта 2012

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

...