我已经在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);
}
}
}
请帮忙!谢谢!