Thanks Sergey, I will look into CDOEx. Another possible solution that has been suggested is using Exchange Event Sinks.
As I have never used either method before it is difficult to know which is going to be best, guess I will just have to look at both.
Cheers,
Nick