在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对象?

你可以试试这个代码

 private void saveEmail(object Item, ref bool Cancel) { var msg = Item as Outlook.MailItem; msg.SaveAs(yourPath, Outlook.OlSaveAsType.olMSG); }