Sto utilizzando ApplicationEvents_11_ItemSendEventHandler
(vedere http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.applicationevents_11_itemsendeventhandler.aspx) per eseguire alcune elaborazioni quando un articolo viene inviato da Outlook.Evento su "Elemento inviato" in Outlook
Tuttavia, come questo evento viene su "Invia", piuttosto che "inviato", sono in grado di ottenere alcune informazioni, come ad esempio il mittente, ha inviato il tempo ecc
C'è un evento alternativo che gli incendi dopo l' l'articolo è stato effettivamente inviato? Ho letto questo post sul blog; http://easyvsto.wordpress.com/2010/07/27/how-to-save-mail-content-when-a-mail-is-sent-from-outlook/ ma sono diffidente a seconda degli elementi visualizzati nella cartella degli articoli inviati, considerando che un utente può disabilitare questa funzionalità.
Edit: Vorrei aggiungere che io in realtà ho provato l'approccio "guardare la cartella posta inviata" e hanno notato che l'evento ItemAdd
sembra solo di fuoco per la prima e-mail mando, quindi non di nuovo fino a quando ho riavviato Outlook . Il mio codice è il seguente;
var sentMail = Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSentMail);
sentMail.Items.ItemAdd += new Outlook.ItemsEvents_ItemAddEventHandler(Items_ItemAdd);
E il mio metodo ...
void Items_ItemAdd(object item)
{
MessageBox.Show(((Outlook.MailItem)item).Subject);
}
È necessario mantenere gli elementi oggetto vivo (in una variabile di classe) per gli eventi da sparare. Nel tuo caso il compilatore crea una variabile temporanea per mantenere l'oggetto sendMail.Items. Quando quella variabile è raccolta dati inutili, gli eventi cesseranno di essere attivati. –