覆盖Outlook的默认发送功能

Sam*_*Sam 2 vsto outlook-addin outlook-2010 c#-4.0

我正在使用VSTO,VS 2010和Outlook 2010开发Outlook解决方案.

我想覆盖Outlook的发送行为的默认功能.

这是要求.

当用户点击发送按钮时,我必须检查它是否是短信 - "IPM.Note.Mobile.SMS".如果它是一个SMS,那么我必须提供我的自定义实现发送.如果它不是SMS,则默认发送行为.

对于自定义发送部分,我必须使用自己的Web服务并处理它.

我想要的是一种在Outlook 2010中覆盖默认发送功能的方法/方法.

我在MSDN,检查器包装器和执行自定义业务规则上阅读了一些文章,但我没有得到我想要的.我想要一个纯粹的C#解决方案而不是第三方dll喜欢兑换.我试图尽可能具体,我希望相同:)

请帮帮我:D谢谢,

问候 - 山姆

Sli*_*SFT 6

你需要处理Microsoft.Office.Interop.Outlook.Send事件(ItemEvents_10_SendEventHandler).你可以在这里看到参考.下面提供了一个粗略的例子.您可以从应用程序参考中获取检查器和活动检查器中的消息类.

((Outlook.ItemEvents_10_Event)inspector.CurrentItem).Send += new Outlook.ItemEvents_10_SendEventHandler(Inspector_Send);

void Inspector_Send(ref bool Cancel)
        {
            if (IPM.Note.Mobile.SMS) 
            {
               // custom implementation
            }
            else
              Cancel = true; // don't send the message out 
        }
Run Code Online (Sandbox Code Playgroud)