SaveSentMessageFolder到网络文件夹(而不是Outlook文件夹)

时间:2016-07-06 18:06:34

标签: vb.net outlook vsto

我正在尝试开发一个程序,当用户发送电子邮件时,它会使用OnItemSend拦截。这有效,但是我无法完成下一个工作,即在发送电子邮件后,已发送的项目将保存到网络文件夹中。

我可以使用以下代码来确定不同的已发送文件夹'叫做“TESTER'但我需要它实际上是保存到文件夹路径而不是,例如' c:\ temp \ email.msg'

    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文件看起来像是保存的新电子邮件,而不是已保存的已发送电子邮件。

1 个答案:

答案 0 :(得分:1)

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