簡體   English   中英

如何使用MailKit為每封郵件下載多個附件?

[英]How to download multiple attachments per message with MailKit?

我已經看過很多關於stackoverflow的其他問題,但是我仍然感到困惑。

我想下載電子郵件的附件-我成功地做到了這一點,但前提是該電子郵件只有一個附件。 當一封電子郵件有多個附件時,它將停止工作。

如何為每個電子郵件下載多個附件?

另外,有沒有一種方法可以在下載時確定文件擴展名? 例如,當前,如果有pdf附件,則將下載文件,但沒有.pdf,因此Windows不知道文件類型。

下面的代碼來自這里: MailKit保存附件 我一直以此為基礎。

foreach (var attachment in message.Attachments)
{
    using (var stream = File.Create ("fileName"))
    {
        if (attachment is MessagePart)
        {
            var part = (MessagePart) attachment;
            part.Message.WriteTo (stream);
        }
        else
        {
            var part = (MimePart) attachment;
            part.ContentObject.DecodeTo (stream);
        }
    }
}

請幫忙! 謝謝!

您粘貼的代碼將已經保存所有附件。

查看原始消息源。 您認為是附件的每個“附件”是否都有標題Content-Disposition: attachment 如果沒有,那就是您要解決的問題。

您可以改用message.BodyParts並應用自己的邏輯來確定零件是否就是您認為的“附件”。

另外,有沒有一種方法可以在下載時確定文件擴展名? 例如,當前,如果有pdf附件,則將下載文件,但沒有.pdf,因此Windows不知道文件類型。

是。 您可以在MimePart對象的FileName屬性上檢查文件擴展名。

暫無
暫無

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

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