 <p>For the first two steps regular OLE automation using the <code>Outlook2000.pas</code> unit that comes bundled with Delphi should work fine though you might want to take a look at Dmitry Streblechenko's Redemption library: <a href="http://dimastr.com/redemption/">http://dimastr.com/redemption/</a> which simplifies many of the more low-level (Extended-)MAPI tasks significantly.</p> <p>For intercepting the sent message you should create an instance of <code>TItems</code> and connect it to the folder reference you could get from <code>OutlookApplication.Session.GetDefaultFolder(olFolderSentMail)</code>. You can then assign an event handler to its <code>OnItemAdd</code> event.</p> <p>For drag &amp; drop from Outlook into your application you can take a look at Anders Melanders excellent (and free) Drag&amp;Drop library (includes examples for interacting with Outlook): <a href="http://melander.dk/delphi/dragdrop/">http://melander.dk/delphi/dragdrop/</a></p>