2016-07-06 94 views
1

我想开发一个程序,当用户发送一封电子邮件时,使用OnItemSend拦截它。这可行,但我无法获得下一个工作,即在发送电子邮件后,发送的项目被保存到网络文件夹中。SaveSentMessageFolder到网络文件夹(而不是Outlook文件夹)

我可以使用下面的代码来确定一个名为'TESTER'的不同'发送文件夹',但我需要它实际上保存到一个文件夹路径而不是像'c:\ temp \ email'那样。味精”

Dim myItem As Outlook.MailItem 
    Dim mpfInbox As Outlook.Folder 
    Dim mpf As Outlook.Folder 
    mpfInbox = Application.Session.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox) 
    mpf = mpfInbox.Folders("TESTER") 
    myItem = Application.ActiveInspector.CurrentItem 
    myItem.SaveSentMessageFolder = mpf 

我知道我可以做这样的事情......

'myItem.SaveAs sourcefolder & “\” & SNAME,olMSG'

但它节省了它,它发出如此前msg文件看起来像一个保存的新电子邮件,rathe而不是保存的发送电子邮件。

回答

1

使用您的自定义Outlook文件夹上的Items.ItemAdd事件(它将在邮件发送并移动到该文件夹​​后触发),保存该邮件(MailItem.SaveAs),然后删除原始邮件。

+0

非常感谢 - 在您的帮助之后找到了一篇很棒的文章:https://jwcooney.com/2012/03/05/vs2010-outlook-thisaddin-how-to-get-the-sent-email-message/ –

相关问题