首页 > 解决方案 > 如何从 .NET Core 中的 Microsoft Graph API 接收的应用程序/pkcs7-mime 中提取附件

问题描述

我正在使用 .NET Core 3.1 中的 Microsoft Graph API 下载附件。

await client.Users[mail.OwnerEmail].Messages[mail.Id].Attachments.Request().GetAsync()

最近一封电子邮件的附件内容类型很奇怪application/pkcs7-mime(扩展名为 .p7m)。我需要在这个签名的附件中提取附件。Outlook 显示此邮件的 2 个附件:pdfxml. 我需要这两个文件。

我找到了这个帖子,但我不明白答案。

我试过了:

var signed = new SignedCms();
signed.Decode(signedAttachment.Content);   //Exception: ASN1 corrupted data.

new SignedCms(new ContentInfo(signedAttachment.Content))

并收到一些友好的名称和版本:

调试器截图

但我不知道如何提取附件。

编辑:

也试过:

var envelopedCms = new EnvelopedCms();
envelopedCms.Decode(signedAttachment.Content);

Decrypt......什么都没有。

标签: microsoft-graph-apimicrosoft-graph-sdksmicrosoft-graph-mail

解决方案


推荐阅读