我正在 Visual Studio 2010 中使用 c#.net 开发 Outlook 2010 插件。
我想将当前电子邮件(未附加)中的图像嵌入到我的表单区域中。
如何从 Outlook 电子邮件中获取嵌入图像?
我试图从谷歌中找出答案,但他们都展示了如何在电子邮件中嵌入图像。但我想从 Outlook 电子邮件中获取嵌入式图像。
谁能帮帮我?
我正在 Visual Studio 2010 中使用 c#.net 开发 Outlook 2010 插件。
我想将当前电子邮件(未附加)中的图像嵌入到我的表单区域中。
如何从 Outlook 电子邮件中获取嵌入图像?
我试图从谷歌中找出答案,但他们都展示了如何在电子邮件中嵌入图像。但我想从 Outlook 电子邮件中获取嵌入式图像。
谁能帮帮我?
您应该能够使用: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");
}
}
}
这会将嵌入或附加的项目保存到您选择的目录中;然后你可以简单地操作那些你选择的附加项目。希望至少可以为您指明写作方向。