We can use a profile to login to the mailbox or use profile-less (LogonExchangeMailbox) method to login. As I am processing the mails in a mailbox, I am moving them to a Processed Folder. I am fetching all messages into an array and then sort them on date sent descending order.

All attachments are saved to the file system and a pointer is saved in the database.

The windows service that hosts this library has a timer which calls the StartMailBoxProcessor code on a user defined time intervals. This service is deployed to two servers with fail over capability.
download code
-paul