どのようにDomainkeys/DKIMメールを署名用にC#SMTPクライアント?
-
23-09-2019 - |
質問
まっているプログラムをC#を送り出します。しかし、今までの要件に署名送信メールを利用Dominkeys/DKIMがなんなのかどうやって実行するかである。
ってすべてのキーがわからないかとhwoことができる。にメールヘッダを表します。
解決 6
私はこの問題について多くの助けを見つけるdidntのが、私の問題は、SMTPサーバーを構成することによって解決しました。 私はサードパーティのSMTPサーバーを使用していますが、すべてのサーバーが自分の構成を有しているように私はこれらのステップを投稿傾けます。適切な設定の後、私のSMTPは、自動的にDM / DKIM署名を追加します。
他のヒント
が根本的な問題となっているDKIM署名とのシステム。います。メール.MailMessageいます。います。メール.SmtpClientるためには、メッセージが必要で、故の炉内構造物のSmtpClientのためのハッシュのメッセージボディのひとつの手段として、生成、DKIM署名についてのヘッダを表します。この問題に時代の景色は添付でSmtpClientを生成する新しいマルチパート境界で書き出しのメッセージの体のハッシュとのDKIM署名についての有効性.
この使用が可能で MimeKit や MailKit オープンソースの図書館です。純の代替としての枠組みを用います。います。メール.
を追加するDKIM署名にメッセージMimeKitいうようになります:
MimeMessage message = MimeMessage.CreateFromMailMessage(mailMessage);
HeaderId[] headersToSign = new HeaderId[] { HeaderId.From, HeaderId.Subject, HeaderId.Date };
string domain = "example.net";
string selector = "brisbane";
DkimSigner signer = new DkimSigner ("C:\my-dkim-key.pem", domain, selector)
{
SignatureAlgorithm = DkimSignatureAlgorithm.RsaSha1,
AgentOrUserIdentifier = "@eng.example.com",
QueryMethod = "dns/txt",
};
// Prepare the message body to be sent over a 7bit transport (such as
// older versions of SMTP). This is VERY important because the message
// cannot be modified once we DKIM-sign our message!
//
// Note: If the SMTP server you will be sending the message over
// supports the 8BITMIME extension, then you can use
// `EncodingConstraint.EightBit` instead.
message.Prepare (EncodingConstraint.SevenBit);
message.Sign (signer, headersToSign,
DkimCanonicalizationAlgorithm.Relaxed,
DkimCanonicalizationAlgorithm.Simple);
を送信するメッセージを使用MailKitいうようになります:
using (var client = new MailKit.Net.Smtp.SmtpClient ()) {
client.Connect ("smtp.gmail.com", 465, true);
client.Authenticate ("username", "password");
client.Send (message);
client.Disconnect (true);
}
い役立っています。
https://github.com/dmcgiv/DKIM.Net にそれが特定のDomainKeysだ見ますC#で書かれた.NET用メール(DKIM)実装は - 。それはあなたがはMailMessageオブジェクトに署名することができます。
私も知りたいです 私はちょうどDKIMが実装見つけるが、私は成功で実行することはできません-_- http://tinisles.blogspot.com/2009/ 09 /送信-DKIM-電子メールから-c.htmlする
だけでなく、それはまた、あなたがS / MIME証明書、PGP証明書などを含むことができ、署名にDKIMを使用することができません。 また、そのAは非常にlibが成熟 - 。私はその完全かつ徹底的に念頭に置いて、ユニコードでコーディングされたので、
正しくハンドル外国語(英語以外から)、ことが判明した唯一の1その自由とオープンソースます。
このDKIM-サイン本体のMailMessageしDKIM.NET あります。おいて別の視点でメッセージをその位置を見つけることができ液を書いた自分の(オープンソースの通常の免責事項)に移行する必要があり https://github.com/yannispsarras/DKIM-AlternativeViews
理解しているこのかわいらしい古いスレッドが思ったが自信がない。