C# 从outlook保存嵌入的图像和文件

C# 从outlook保存嵌入的图像和文件,c#,email,outlook,C#,Email,Outlook,我想从outlook保存嵌入的图像。经过分析,我发现用户可以嵌入图像,也可以嵌入PDF文件等。但如果嵌入PDF或其他图像文件(在outlook中使用“插入”菜单,然后使用“对象”选项),邮件项目附件对象还包含一个.mso文件(MSO文件随电子邮件附件一起发送,其中包含允许在电子邮件中呈现附件的信息),我不确定是否需要保存该文件 1) 那么,是否需要保存或处理mso文件,或者我可以忽略它并保存所有其他文件类型 2) 根据我的观察,即使用户嵌入了pdf文件,它也会作为扩展名为.png的图像文件附加到

我想从outlook保存嵌入的图像。经过分析,我发现用户可以嵌入图像,也可以嵌入PDF文件等。但如果嵌入PDF或其他图像文件(在outlook中使用“插入”菜单,然后使用“对象”选项),邮件项目附件对象还包含一个.mso文件(MSO文件随电子邮件附件一起发送,其中包含允许在电子邮件中呈现附件的信息),我不确定是否需要保存该文件

1) 那么,是否需要保存或处理mso文件,或者我可以忽略它并保存所有其他文件类型

2) 根据我的观察,即使用户嵌入了pdf文件,它也会作为扩展名为.png的图像文件附加到outlook收件箱中。那么,我可以将所有这些图像转换为.gif格式,如下所示吗?它在任何情况下都会失败吗

if (item.Attachments.Count > 0)
{
    for (int j = 1; j <= item.Attachments.Count; j++)
    {
        string value = item.Attachments[j].PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E");

        if (!String.IsNullOrEmpty(value))
        {
            index++;
            string tempFilename = "C:\\TestFileSave\\" + "inlineimg_" + index.ToString() + System.IO.Path.GetExtension(item.Attachments[j].FileName);
            if (System.IO.Path.GetExtension(item.Attachments[j].FileName) == "mso")
            {
                continue;
            }
            item.Attachments[j].SaveAsFile(tempFilename);

            string mimeType = MimeMapping.GetMimeMapping(tempFilename);
            if (mimeType.Contains("image/"))
            {
                System.Drawing.Image Image1 = System.Drawing.Image.FromFile(tempFilename);
                Image1.Save("C:\\TestFileSave\\" + "inlineimg_" + index.ToString() + ".gif", System.Drawing.Imaging.ImageFormat.Gif);
                Image1.Dispose();
                System.IO.File.Delete(tempFilename);
            }
        }
    }
}   
if(item.Attachments.Count>0)
{

for(int j=1;j MSO fiel格式没有文档记录。我询问了MS dev支持人员关于打开其格式的问题,但他们告诉我,他们没有这样做的计划。那么,它们是否由outlook内部使用,而不是由用户使用?