C#DKIMKeySigner无法打开附件

Par*_*one 9 c# mailer dkim

我正在向附带附件的用户发送邮件.未签名的邮件获得.pdf文件(大约64kb)并且工作正常.

但是,当我为其他用户签名时,PDF文件大约为64 B,无法打开.

签约时我没有对附件做任何事情,但是......所以这很奇怪.

我的签名代码:

 email = SpecificMethods.DKIMSign(email);

internal static MailMessage DKIMSign(MailMessage email)
    {
        var privateKey = PrivateKeySigner.Create(@"-----BEGIN RSA PRIVATE KEY-----
         -----END RSA PRIVATE KEY-----");

        var domainKeySigner = new DomainKeySigner(privateKey, "***.com", "**", new string[] { "mime-version", "date", "subject", "from", "to", "content-type" });
        email.DomainKeySign(domainKeySigner);

        var dkimSigner = new DkimSigner(privateKey, "***.com", "**", new string[] { "mime-version", "date", "subject", "from", "to", "content-type" });
        email.DkimSign(dkimSigner);

        return email;
    }
Run Code Online (Sandbox Code Playgroud)

并最终发送它.没有什么特别的事发生在那里.

为什么我的依恋会"破"?

usr*_*ΛΩΝ 2

我认为您应该更改用于签署消息的库用于发送实际电子邮件的类。我尝试快速搜索替代方案,System.Net.SmtpClient但没有找到。

你没有指定你使用的是哪个DLL包,所以谷歌搜索将我传送到了这个项目

不幸的是,如果你看看自述文件......


已知的问题

由于 System.Net.Mail.SmtpClient 随机生成边界标识符,并且此代码会在发送之前破解 SmtpClient 以检索完整的电子邮件内容,因此当 MailMessage 具有替代视图或附件时,在使用 SmtpClient 和 MailMessage 发送时无法使用该代码。