0

我正在 Visual Studio 2010 中使用 c#.net 开发 Outlook 2010 插件。

我想将当前电子邮件(未附加)中的图像嵌入到我的表单区域中。

如何从 Outlook 电子邮件中获取嵌入图像?

我试图从谷歌中找出答案,但他们都展示了如何在电子邮件中嵌入图像。但我想从 Outlook 电子邮件中获取嵌入式图像。

谁能帮帮我?

4

1 回答 1

2

您应该能够使用:Microsoft.Office.Interop.Outlook。这是Namespace中的一个巨大的项目列表。您可能必须将其视为附件;将其保存到另一个文件夹。然后递归地从那里提取数据。

private void ThisApplication_Startup(object sender, System.EventArgs e)
{
    this.NewMail += new Microsoft.Office.Interop.Outlook
        .ApplicationEvents_11_NewMailEventHandler(ThisApplication_NewMail);
}

private void ThisApplication_NewMail()
{
    Outlook.MAPIFolder inBox = this.ActiveExplorer()
        .Session.GetDefaultFolder(Outlook
        .OlDefaultFolders.olFolderInbox);
    Outlook.Items inBoxItems = inBox.Items;
    Outlook.MailItem newEmail = null;
    inBoxItems = inBoxItems.Restrict("[Unread] = true");
    try
    {
        foreach (object collectionItem in inBoxItems)
        {
            newEmail = collectionItem as Outlook.MailItem;
            if (newEmail != null)
            {
                if (newEmail.Attachments.Count > 0)
                {
                    for (int i = 1; i <= newEmail
                       .Attachments.Count; i++)
                    {
                        newEmail.Attachments[i].SaveAsFile
                            (@"C:\TestFileSave\" +
                            newEmail.Attachments[i].FileName);
                    }
                }
            }
        }
    }
    catch (Exception ex)
    {
        string errorInfo = (string)ex.Message
            .Substring(0, 11);
        if (errorInfo == "Cannot save")
        {
            MessageBox.Show(@"Create Folder C:\TestFileSave");
        }
    }
}

这会将嵌入或附加的项目保存到您选择的目录中;然后你可以简单地操作那些你选择的附加项目。希望至少可以为您指明写作方向。

于 2013-01-17T00:12:14.587 回答