/ / SaveSentMessageFolder(Outlookフォルダではなく)ネットワークフォルダに - vb.net、outlook、vsto

SaveSentMessageFolderをネットワークフォルダ(Outlookフォルダではない)にコピーする - vb.net、outlook、vsto

私はプログラムを開発しようとしています。ユーザーが電子メールを送信すると、OnItemSendを使用して傍受されます。これは動作しますが、電子メールが送信された後、送信されたアイテムはネットワークフォルダに保存されます。

私は "TESTER"と呼ばれる別の "送信フォルダ"を決定するために次のコードを使うことができますが、実際には代わりに、あるいは "c:tempemail.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は1

使用 Items.ItemAdd あなたのカスタムOutlookフォルダ(メッセージが送信され、そのフォルダに移動さ​​れた後に起動します)のイベント、そのメッセージを保存します(MailItem.SaveAs)、元のメッセージを削除します。