Tag: outlook

Outlook MailItem作为流

是否可以直接将MailItem作为Stream返回? ( 来自Microsoft.Office.Interop.Outlook MailItem ) 现在我找到了一个临时解决方案,首先将MailItem保存到目录,打开它并将流返回到文件,然后再次删除该文件。 这个临时解决方案在处理大量电子邮件时很慢,我想用例如直接将MailItem作为MemoryStream返回来替换它。 如何才能做到这一点? ( 由于评论编辑:缓慢是一部分,但另一个代码部分(无法修改)只接受一个流,这就是我正在寻找一个解决方案来打开一个MailItem作为流)

如何检索邮件项的Outlook文件夹(Outlook.MailItem)?

我通过inboxFolder = Globals.ThisAddIn.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox获取我的默认收件箱文件夹 在我的代码的其他地方,我开始做foreach循环,从这些MailItems中提取我想要的特定信息 foreach (var item in this.inboxFolder.Items) { Outlook.MailItem mailItem = (Outlook.MailItem)item; //…. doing stuff here string SenderEmail = mailItem.SenderEmailAddress; string SenderName = mailItem.SenderName; string FolderLocation = mailItem.???; //how to retrieve folder location? //…. more stuff here } 例如:用户可能创建了一个名为“Test”的子文件夹,如下所示。

在处理C#Outlook之前按接收时间对电子邮件进行排序

在处理电子邮件并将数据输入数据库时​​,我需要按处理时间对收到的电子邮件进行排序。 我需要它,以便将要接收的最新电子邮件放入数据库以覆盖旧版本(如果有旧版本)。 Microsoft.Office.Interop.Outlook.Items item =(Outlook.Items)source.Items; Source是包含我想要排序的电子邮件的文件夹 我试过这四种方式: items.Sort(“ReceivedTime”, false); items.Sort(“[ReceivedTime]”, Outlook.OlSortOrder.olAscending); items.Sort(“ReceivedTime”, Outlook.OlSortOrder.olSortNone); items.Sort(“[ReceivedTime]”); 这似乎没有把它排序为它仍然将最老的数据库放入数据库第二,覆盖最新的提交。 有任何想法吗?

确定所选电子邮件是来自收件箱还是已发送邮件

我正在编写Outlook加载项 ,需要确定所选的电子邮件是来自Inbox还是已Sent Items以便我可以在将数据库保存到数据库时使用folder =“收件箱”或“已发送”来标记该电子邮件。 我了解我可以将文件夹名称与收件箱或已发送邮件进行比较并确定文件夹,但是,如何确定所选电子邮件何时位于收件箱中的一个子文件夹中。 是否有FolderType属性来检查所选电子邮件的文件夹是收件箱还是已发送 ( 类似于使用OlItemType标识项目类型 )?

当一个outook的连接状态发生变化时触发的EventHandler

我正在使用VSTO和C#处理Outlook加载项。 我需要一个事件处理程序,当outook的连接状态发生变化时触发( 即从在线模式到离线,反之亦然 )。 那可能吗? 是否有这样的事件处理程序? 我一直在网上搜索很多,但遗憾的是我一无所获。 如果有人对此有所了解甚至是可能的解决方案,我将非常感激。 注意:我使用的前景是Outlook 2007。

Microsoft.Office.Interop.Outlook 2010在VS 2012中使用.Net 2.0参考

我想在我的web项目中添加一个对Microsoft.Office.Interop.Outlook命名空间的Reference我正在使用.Net 2.0和visual studio 2012 题 以下哪一项是我应该选择使用Outlook 2010那一项 我试图谷歌这个,我找不到任何东西

如何将组添加到多个内置function区选项卡(vsto)?

这是VS2010 + Office 2010加载项。 我想要的只是向多个内置选项卡添加一个按钮( 或按钮组 )。 例如,我的按钮应该在New Mail Message Ribbon和New Appointment Ribbon中都可用。 我尝试添加一个新选项卡( 在可视设计器中 ),但似乎不起作用。 按钮组显示在“新邮件”选项卡上,但不显示在“约会”选项卡上。 顺便说一句,我使用以下ID: TabNewMailMessage和TabAppointment 。

这个插件导致前景开始缓慢

我正在使用C#.NET 4.5开发Outlook Addin项目但是在部署之后,有时outlook会禁用我的插件,并显示此消息。 “这个插件导致前景开始缓慢”“我不知道我的插件有什么问题。这只有几个代码,而且ThisAddIn_Startup在这个项目中是空的。这是代码…… public partial class ThisAddIn { private void ThisAddIn_Startup(object sender, System.EventArgs e) { } private void ThisAddIn_Shutdown(object sender, System.EventArgs e) { } protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject() { return new Ribbon1(); } #region VSTO generated code /// /// Required method for Designer support – do not modify /// the contents of this method […]

创建.ICS文件,添加到outlook

我正在创建一个简单的应用程序,允许用户下载.ICS文件,并将它们导入到他们选择的日历应用程序/站点中。 我对创建过程感到满意,但对于在outlook中打开它们有疑问。 (将在C#,ASP.NET中开发) 当我打开一个时,它会添加一个新日历,并且不会将事件添加到现有日历中。 是否可以打开并添加到现有日历中? 以下生成ICS文件的示例(显然是测试数据) BEGIN:VCALENDAR VERSION:2.0 PRODID:-//hacksw/handcal//NONSGML v1.0//EN BEGIN:VEVENT DTSTART:20100623T1101100Z DTEND:20100623T1401400Z SUMMARY: England v Slovenia LOCATION: Some where in South Africa END:VEVENT BEGIN:VEVENT DTSTART:20100624T1101100Z DTEND:20100624T1401400Z SUMMARY: England v Slovenia again (replay) LOCATION: Some where in South Africa END:VEVENT END:VCALENDAR

文件夹上的C#(outlook加载项)上下文菜单

在我的VSTO outlook插件中,我正在尝试放置一个按钮,当我右键单击文件夹时会显示该按钮。 在我的启动function中我有这个: Outlook.Application myApp = new Outlook.ApplicationClass(); myApp.FolderContextMenuDisplay += new ApplicationEvents_11_FolderContextMenuDisplayEventHandler(myApp_FolderContextMenuDisplay); 然后我有那个处理程序… void myApp_FolderContextMenuDisplay(CommandBar commandBar, MAPIFolder Folder) { var contextButton = commandBar.Controls.Add(MsoControlType.msoControlButton, missing, missing, missing, true) as CommandBarButton; contextButton.Visible = true; contextButton.Caption = “some caption…”; contextButton.Click += new _CommandBarButtonEvents_ClickEventHandler(contextButton_Click); } 最后点击的处理程序…. void contextButton_Click(CommandBarButton Ctrl, ref bool CancelDefault) { //stuff here } 我的问题是如何将myApp_FolderContextMenuDisplay中的contextButton_Click MAPIFolder Folder发送到contextButton_Click […]