I implemented a similar system a few years ago. What I did was implement a windows service which polled an exchange mailbox every X seconds and processed the emails in batches. One tip - depending on how frequent you need to poll you might find a console app driven by a scheduled task is more efficient (and less work).
For the actual mailbox interaction I used a couple of 3rd party libraries for processing and parsing the mail, pretty straightforward.
The difficulty with a system like this is making sure that emails are processed only once and dealing with problematic emails accordingly without blocking the service. For me it was as simple as moving the emails around into specific folders i.e. Processing
or Deadletter
.
I also had my service setup to email me reports on things like queue size, deadletter emails and any other general errors.