<p>Similar question as <a href="https://stackoverflow.com/questions/56722/automated-processing-of-an-email-in-java">this one</a> but for a Microsoft Environment.</p>

<p>Email --> Exchange Server -->[something]</p>

<p>For the [something] I was using Outlook 2003 &amp; C# but it <em>feels</em> messy (A program is trying to access outlook, this could be a virus etc)</p>

<pre><code>Microsoft.Office.Interop.Outlook.Application objOutlook = new Microsoft.Office.Interop.Outlook.Application();
Microsoft.Office.Interop.Outlook.NameSpace objNS = objOutlook.GetNamespace("MAPI");
objNS.Logon("MAPIProfile", "MAPIPassword", false, true);
</code></pre>

<p>Is this the best way to do it?  Is there a better way of retrieving and processing emails in a Microsoft environment???</p>

This
library provides you basic support for the POP3 protocol and MIME, you can use it to check specified mailboxes and retrieve emails and attachments, you can tweak it to your needs.
Here is
another library
, this one is for the IMAP protocol, it's very basic but also allows you to fetch complete messages, including attachments...