Tag: outlook addin

Outlook 2007的共享加载项捕获ReplyToAll事件

我正在使用VS 2010和Dot Net Framework 2.0。 我在Extensibility-> Outlook的共享加载项中创建了一个项目。 我试图捕获ReplyToAll事件它没有被解雇。 请看下面的代码: OnConnection方法 inspectors = applicationObject.Inspectors; inspectors.NewInspector += new Outlook.InspectorsEvents_NewInspectorEventHandler(inspectors_NewInspector); void inspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector) { mailItem = null; try { Outlook.NameSpace ns = Inspector.Session; Outlook.MAPIFolder inbox = ns.GetDefaultFolder( Outlook.OlDefaultFolders.olFolderInbox); foreach (object o in inbox.Items) { mailItem = o as Outlook.MailItem; if (mailItem != null) { break; } } if […]

从我的AddIn调用第三方Outlook AddIn-Button

我正在寻找创建一个AddIn for outlook,当一个邮件项目被添加到某个文件夹时,它将调用来自另一个第三方addIn的附加和转发function,但是我不知道如何找到这个按钮以便调用它。 收件箱屏幕上显示所需的按钮(当左下角选择邮件时),但是当打开邮件(双击)时,下拉菜单中显示所需的按钮,这是结构。 突出显示的是所需的function。 如何为特定的邮件项调用此函数我发现Redemption Library似乎很有用,但不确定如何完全应用它。 在Outlook 2013中调用function区按钮 这就是我到目前为止所拥有的。 看评论。 (来自@Dmitry Streblechenko的片段) private void ExecuteAttachAndForward() { Redemption.SafeInspector sInspector = new Redemption.SafeInspector(); sInspector.Item = Application.ActiveInspector().CurrentItem; Redemption.SafeRibbon Ribbon = sInspector.Ribbon; string oldActiveTab = Ribbon.ActiveTab; Ribbon.ActiveTab = “Home”; // is this the correct name of the tab? Redemption.SafeRibbonControl Control = Ribbon.Controls.Item(“Attach and Forward”); // how would I […]

消息日期属性的模式名称

我试图通过PropertyAccessor读取和写入消息日期(发送/接收),但无法弄清楚该属性的模式名称是什么,甚至不确定我是否正确传递了模式参数。 什么是正确的架构名称? 如何正确传递GetProperty()和SetProperty() ? 某个地方是否有可用的名称列表? 有没有办法获得/设置没有架构的属性,只需使用属性名称? object prop = item.PropertyAccessor.GetProperty(“http://schemas.microsoft.com/mapi/proptag/0x10130102”); // I know 0x10130102 is not correct but don’t know what the correct one is. item.PropertyAccessor.SetProperty(“http://schemas.microsoft.com/mapi/proptag/0x10130102”, DateTime.Now.ToFileTimeUtc());

事件处理程序未添加到新邮件项目

我正在尝试创建一个简单的Outlook 2010加载项,以响应新的附件事件。 下面的代码仅在我取消注释MessageBox.Show行时才有效。 但删除它似乎不添加事件处理程序。 我对程序流的缺失是什么意味着模态消息框会影响事件处理程序的位置? public partial class ThisAddIn { private void ThisAddIn_Startup(object sender, System.EventArgs e) { Application.Inspectors.NewInspector += Inspectors_NewInspector; } void Inspectors_NewInspector(Outlook.Inspector Inspector) { Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem; if (mailItem != null) { if (mailItem.EntryID == null) { mailItem.BeforeAttachmentAdd += mailItem_BeforeAttachmentAdd; //System.Windows.Forms.MessageBox.Show(“Twice”); } } } void mailItem_BeforeAttachmentAdd(Outlook.Attachment Attachment, ref bool Cancel) { […]

在Outlook加载项中发送时保存电子邮件

我正在创建一个Outlook加载项(Visual Studio 2010,.NET 4.0,C#),我想在发送后自动归档用户的电子邮件。 到目前为止我所拥有的是以下内容: private void ThisAddIn_Startup(object sender, System.EventArgs e) { //Create an event handler for when items are sent Application.ItemSend += new ApplicationEvents_11_ItemSendEventHandler(saveEmail); } private void saveEmail(object Item, ref bool Cancel) { } 我通过调试发现的是,我的saveEmail方法在电子邮件实际发送之前就会触发。 这是好的,理想情况下我希望它在成功发送电子邮件后立即被解雇,所以如果有办法做到这一点,我会感激一些指示。 在任何情况下,我都可以进入该方法,我想要做的是将该电子邮件作为Outlook.MailItem对象访问,并使用.SaveAs方法和我选择的任何参数。 我将如何抓取当前打开并即将发送的电子邮件作为MailItem对象?

Outlook 2010加载项:如何自定义“从/到/ CC /主题”窗格?

我目前正在使用C#开发Outlook 2010加载项。 有没有办法在Outlook 2010中自定义“从/到/ CC /主题”窗格? 具体来说,我希望实现以下function: 在电子邮件主题下方添加新字段 在该区域的右侧添加两个图标 我需要为电子邮件预览和在新窗口中阅读电子邮件这样做。 以ImageShack pic为例。

Outlook插件:从选定的日历中获取元素

我正在创建一个Outlook加载项,我想知道如何从选定的日历中获取元素? 例如,我需要从名为“myCalendar”的日历中获取所有约会项目。 现在,我可以从所有日历中获取所有约会项目。 谢谢,

如何以编程方式在Outlook搜索文件夹上设置自定义图标? (即Outlook文件夹SetCustomIcon)

我正在尝试使用Folder.SetCustomIcon()方法在我以编程方式创建的已保存搜索文件夹上放置自定义图标。 SetCustomIcon()文档非常稀疏,但可以在此处找到以供参考 。 此外, 它期望的对象是一遍又一遍的例子是非常稀疏的。 有人知道如何设置文件夹的自定义图标吗? 以下是我到目前为止的代码: searchFolders = inboxFolder.Store.GetSearchFolders(); foreach (Outlook.Folder folder in searchFolders) { if (folder.Name == “Expiring Retention Policy Mail”) { folder.ShowItemCount = Microsoft.Office.Interop.Outlook.OlShowItemCount.olShowTotalItemCount; folder.SetCustomIcon(new Bitmap(32, 32)); // <=– this isn't working because it's expecting stdPicture which has very sparse information on how to convert to this type. Globals.ThisAddIn.Application.ActiveExplorer().CurrentFolder = folder; } […]

Outlook中“已发送邮件”上的事件

我正在使用ApplicationEvents_11_ItemSendEventHandler (请参阅http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.applicationevents_11_itemsendeventhandler.aspx )在从Outlook发送项目时进行一些处理。 但是,由于此事件触发“发送”而不是“已发送”,我无法获取某些信息,例如发件人,发送时间等。 物品实际发送后是否会触发另一个事件? 我读过这篇博客文章; http://easyvsto.wordpress.com/2010/07/27/how-to-save-mail-content-when-a-mail-is-sent-from-outlook/但我对依赖出现的物品持谨慎态度在sent items文件夹中,考虑到用户可以禁用此function。 编辑:我应该补充一点,我实际上已经尝试了“观察已发送的项目文件夹”的方法,并注意到ItemAdd事件似乎只发送我发送的第一封电子邮件,然后再重新启动Outlook。 我的代码如下; var sentMail = Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSentMail); sentMail.Items.ItemAdd += new Outlook.ItemsEvents_ItemAddEventHandler(Items_ItemAdd); 我的方法…… void Items_ItemAdd(object item) { MessageBox.Show(((Outlook.MailItem)item).Subject); }

Outlook 2007 vsto加载项。 获取电邮发件人地址

我有一个VSTO Outlook 2007加载项。 当新邮件进入收件箱时,我正在尝试获取发件人电子邮件地址。 为此,我使用以下代码: void inboxItems_ItemAdd(object Item) { Outlook.MailItem mailItem = Item as Outlook.MailItem; if (mailItem != null) string emailAdress = mailItem.SenderEmailAddress; } 问题是当电子邮件来自同一个域时,emailAdress包含类似的LDAP地址 / O =第一个组织/ OU =第一个行政组/ CN =收件人/ CN =管理员 虽然我想获得像这样的SMTP地址 administrator@orgname.com 我的问题是如何从内部域获取电子邮件的SMTP发件人地址? PS 在Outlook 2010中,可以使用Sender属性解决此问题。 但它在2007年不受支持。 item.Sender.GetExchangeUser().PrimarySmtpAddress