需要示例代码来阅读带有附件的电子邮件并使用 C# 中的 Microsoft Graph API 转换为
.eml
文件
Microsoft Graph API - 5.49.0 版本 目标框架 - Net 5.0
请确认我是否使用压缩版本。
var messages = _graphServiceClient.Users[""].MailFolders["inbox"].Messages.GetAsync().Result;
foreach (var message in messages.Value)
{
// From the "message" object, Able to retrieve BodyPreview, Subject, From Address and Has Attachments.
}
如果 HasAttachments 为 true 并且 email 在 inbox 中包含 attachment,但
message.Attachments
为 null
。
需要知道如何从
message
对象检索附件。
还需要将该电子邮件转换为 .eml 格式并将电子邮件移动到与
Inbox
不同的文件夹。
您可以过滤带附件的邮件
var result = await graphClient.Users[""].MailFolders["inbox"].Messages.GetAsync((rc) =>
{
rc.QueryParameters.Filter = "hasAttachments eq true";
});
对于每条消息,读取其 MIMEContent 并将流保存为 .eml 文件。
foreach (var message in result.Value)
{
var content = await graphClient.Users[""].MailFolders["inbox"].Messages[message.Id].Content.GetAsync();
}