检索电子邮件附件时的Attachment.Name为空

时间:2016-01-31 22:46:27

标签: pdf attachment system.net.mail openpop

我正在使用openpop来检索和处理电子邮件,在处理邮件时,我正在检查附件并将其保存到特定文件夹。这适用于csv文件,但出于某种原因,pdfs“att.Name”返回null并且不会保存。

AttachmentCollection attachments = mailItem.Attachments;
foreach (Attachment att in attachments)
{
    using (var fileStream = new FileStream(conf.AttachmentSaveTo + att.Name,   FileMode.Create, FileAccess.Write))
    {
        att.ContentStream.CopyTo(fileStream);
    }
}

任何帮助,非常感谢。

1 个答案:

答案 0 :(得分:0)

如果无法访问原始邮件,则pdf附件的MIME标头可能未指定文件名。

如果您查看原始邮件来源,请检查您的pdf附件是否有some_bt.enabled = false; //it is working fine with mouse action! 标头,并确保它们具有Content-Disposition参数。

如果没有,filename标题是否有Content-Type参数?

如果存在这两个参数中的至少一个,可能您在OpenPOP中发现了一个错误。如果是这种情况,我建议改用MailKit库。