我向带附件的用户发送邮件。 没有签名的邮件,获得.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;
}
最终发送它。没有什么特别的事情发生在那里。
为什么我的依恋会破坏'
答案 0 :(得分:2)
我认为你应该更改用于签署消息的库或用于发送实际电子邮件的类。我尝试了快速搜索System.Net.SmtpClient
的替代,但没有找到。
您没有指定您使用的DLL包,因此Google搜索将我传送到this project
不幸的是,如果你看一下自述文件......
由于System.Net.Mail.SmtpClient随机生成边界标识符,因为此代码攻击SmtpClient以在发送代码之前检索完整的电子邮件内容在使用SmtpClient和MailMessage <发送时无法使用 strong>当MailMessage具有备用视图或附件时。