Mailkit V2.12 .net SMTP 邮件正文哈希未验证

问题描述

我正在尝试使用 Mimekit V2.12 从我的 Exchange 服务器 2016 发送电子邮件,但由于正文哈希未验证,我的“DKIM 身份验证”失败。在我的代码下方,

System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage();
mailMessage.From = new System.Net.Mail.MailAddress("fom@mydomain.com");
mailMessage.To.Add("personalemail@gmail.com");
mailMessage.Subject = "Test email using mail kit - 4";
mailMessage.IsBodyHtml = true;
mailMessage.Body = "html content";

MimeMessage message = MimeMessage.CreateFromMailMessage(mailMessage);
HeaderId[] headersToSign = new HeaderId[] { HeaderId.Date,HeaderId.From,HeaderId.Subject,HeaderId.To,HeaderId.ContentType,HeaderId.ContentTransferEncoding };

string domain = "mydomain.com";
string selector = "dk_dft._domainkey";

Dkimsigner signer = new Dkimsigner(@"D:\keys\mydomain.com.pem",domain,selector)
{
    SignatureAlgorithm = DkimsignatureAlgorithm.RsaSha1,AgentOrUserIdentifier = "@mydomain.com",QueryMethod = "dns/txt",};
message.Prepare(EncodingConstraint.SevenBit);

message.Sign(signer,headersToSign,DkimCanonicalizationAlgorithm.Relaxed,DkimCanonicalizationAlgorithm.Simple);

using (var client = new MailKit.Net.Smtp.SmtpClient())
{
    client.Connect("mail.mydomain.com",25,SecureSocketoptions.None);
    client.Send(message);
    client.disconnect(true);
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)