簡體   English   中英

發送多部分/簽名的電子郵件C#

[英]Send multipart/signed email c#

我正在嘗試按照RFC1847協議創建多部分/簽名的mime電子郵件。 這是應該的樣子(部分簽名被刪除):

Content-Type: multipart/signed; protocol="application/pkcs7-signature"
    micalg=sha1; boundary="--PTBoundry=3"

----PTBoundry=3
Content-Type: multipart/mixed;
boundary="--PTBoundry=2"

----PTBoundry=2
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable

TEST AF signed
----PTBoundry=2
Content-Type: application/octet-stream;
    name=test2.txt
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
    filename=test2.txt

bWludGVzdGF0dGFjaG1lbnRzaWduZWQ=
----PTBoundry=2--

----PTBoundry=3
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"

MIIKfAYJKoZIhvcNAQcCoIIKbTCCCmkCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCCNow
ggPVMIICvaADAgECAgMCNtEwDQYJKoZIhvcNAQEFBQAwQjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT
PrENekpgrYkz

----PTBoundry=3--
empty line

我不知道如何將其實際發送為電子郵件。 我正在使用MailMessage,並且嘗試按如下所示添加它:

var stream = new MemoryStream(Encoding.ASCII.GetBytes(message));
var view = new AlternateView(stream, "application/pkcs7-mime; smime-type=signed-data;name=smime.p7m");

但是它不起作用。 MailMessage添加了不同的標題並將其弄亂了。

如何正確發送?

我不再使用MailMessage類,因為我無法使它正常工作。 相反,我使用的是EWS托管api,如下所示:

var mail = new EmailMessage(_service);
mail.Subject = filename;
mail.MimeContent = new MimeContent("us-ascii", Encoding.ASCII.GetBytes(messageContentWithHeaders));
mail.SendAndSaveCopy();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM