Outlookからアイテムを送信するときに何らかの処理を行うには、ApplicationEvents_11_ItemSendEventHandler
(http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.applicationevents_11_itemsendeventhandler.aspxを参照)を使用しています。Outlookの「アイテム送信済み」イベント
しかし、私は、このような送信者として、特定の情報を取得できませんよ、むしろ「送信さ」よりも、「送信」でこのイベントが発生すると、代替イベントことがあり、時間など
を送っ火災の後にアイテムが実際に送信されましたか?私はこのブログ記事を読んだ。 http://easyvsto.wordpress.com/2010/07/27/how-to-save-mail-content-when-a-mail-is-sent-from-outlook/ですが、ユーザーがこの機能を無効にできることを考慮して、送信済みアイテムフォルダに表示されるアイテムには注意が払われています。
編集:私は私が実際に「送信済みアイテムフォルダを見る」アプローチを試みているとItemAdd
イベントが唯一の私は、Outlookを再起動するまで、その後はない、再び、私が送っ最初の電子メールのために解雇するらしいことに気づいたことを追加する必要があります。私のコードは以下の通りです。
var sentMail = Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSentMail);
sentMail.Items.ItemAdd += new Outlook.ItemsEvents_ItemAddEventHandler(Items_ItemAdd);
そして、私の方法...
void Items_ItemAdd(object item)
{
MessageBox.Show(((Outlook.MailItem)item).Subject);
}
あなたがアイテムを保持する必要があります(クラス変数で)生きているオブジェクトイベントが発生するために。あなたの場合、コンパイラは、sentMail.Itemsオブジェクトを保持するための一時変数を作成します。その変数がガベージコレクトされると、イベントは起動を停止します。 –