gpt4 book ai didi

c# - 如何检查邮件是否有附件(MailKit)

转载 作者:行者123 更新时间:2023-11-30 17:48:20 25 4
gpt4 key购买 nike

我正在使用名为:MailKit 的 IMAP4 客户端。

效果很好,但我不知道邮件是否有附件。

我试过:

var summary = inbox.Fetch(MessageId,MessageSummaryItems.Body,cancel.Token).FirstOrDefault();  
var bodyMultiPart = summary.Body as BodyPartMultipart;
if (bodyMultiPart != null)
{
foreach (var bodyPart in bodyMultiPart.BodyParts.Where(x => x is BodyPartBasic))
{
BodyPartBasic basicPart = bodyPart as BodyPartBasic;
if (basicPart.ContentDisposition != null && basicPart.ContentDisposition.IsAttachment)
{
//add basic part as attachment
}
}
}

但对于某些消息(例如:以 PDF 作为附件的消息),内容处置为 null

最佳答案

尝试使用 MessageSummaryItems.BodyStructure 而不是 MessageSummaryItems.Body。

BODYSTRUCTURE 比 BODY 检索每个 body 部位的更多详细信息。我认为 Content-Disposition header 是 BODYSTRUCTURE 通过普通 BODY 检索的额外内容之一。

希望对您有所帮助。

关于c# - 如何检查邮件是否有附件(MailKit),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23214514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com