[英]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.