首页 > 解决方案 > 有没有办法在不使用 Exchange 服务的情况下从电子邮件消息 Mime 内容中提取附件?

问题描述

我有一个客户端应用程序,它将 eml 文件保存到本地磁盘。需要将附件放入 eml 文件中

我尝试了获取 eml 文件并再次加载它以获取详细信息的相反过程。

标签: c#parsingexchangewebservicesemail-attachmentseml

解决方案


首先非常感谢 MadDev 的帮助!!!

这是我使用的代码:

注意:在这种情况下,存储的电子邮件将始终附加另一个 eml 文件,这是基于业务逻辑的。

    protected static void MimeProcessor(MemoryStream stream)
    {

        try
        {
            var parser = new MimeParser(stream, MimeFormat.Default);
            var message = parser.ParseMessage();
            var multipart = message.Body as Multipart;
            //Found the Attachment as Message Part
            var OriginalMessage = multipart.ToList().LastOrDefault();
            if (OriginalMessage is MessagePart)
            {
                using (var memory = new MemoryStream())
                {
                    ((MessagePart)OriginalMessage).Message.WriteTo(memory);
                    var bytes = memory.ToArray();
                    File.WriteAllBytes("C:\\Test\\TestMessage.eml", bytes);
                }
            }

        }
        catch (Exception)
        {

            throw;
        }

    }

推荐阅读