我正在创建一个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对象?
答案 0 :(得分:3)
您可以尝试使用此代码
private void saveEmail(object Item, ref bool Cancel)
{
var msg = Item as Outlook.MailItem;
msg.SaveAs(yourPath, Outlook.OlSaveAsType.olMSG);
}