MimeMessage 获取附件名称

MimeMessage Get Attachment Name

请问如何获取 MimeMessage 中附件的名称?

我找不到 name 属性 attachment

下面是我的代码片段。

MimeMessage eml = MimeMessage.Load(savedEmlFullFilePath);
EmailMessage mail = new EmailMessage(service);

foreach (var attachment in eml.Attachments)
{
    using (var stream = File.Create(AppConfig.EmailSaveFilePath + "attachment_from_email"))
    {
        if (attachment is MessagePart)
        {
            var part = (MessagePart)attachment;

            part.Message.WriteTo(stream);

            mail.Attachments.AddFileAttachment(AppConfig.EmailSaveFilePath + "attachment_from_email");
        }
        else
        {
            var part = (MimePart)attachment;

            part.Content.DecodeTo(stream);

            mail.Attachments.AddFileAttachment(AppConfig.EmailSaveFilePath + "attachment_from_email");
        }
    }
}

MimePart 有一个 FileName 属性 可以使用。

MessageParts 通常没有文件名,但如果有,您应该能够使用这样的逻辑来获取它:

string fileName = msgPart.ContentDisposition?.FileName ?? msgPart.ContentType.Name;