簡體   English   中英

如何檢查郵件是否有附件(MailKit)

[英]How to check if message has attachments (MailKit)

我正在使用名為: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作為附件的消息),內容處置為

嘗試使用MessageSummaryItems.BodyStructure而不是MessageSummaryItems.Body。

BODYSTRUCTURE檢索每個身體部位的更多細節,而不是BODY。 我認為Content-Disposition標頭是BODYSTRUCTURE在普通BODY上檢索的額外內容之一。

希望有所幫助。

當內容處置為空時,您可以使用內容類型作為提示:text / *很少是附件,multipart / *不是提示,其他類型通常暗示附件。

PDF是application / pdf,所以這是根據這種啟發式的附件。

暫無
暫無

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

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