We have 2 guys claiming they haven't received an email, I have been forwarded the original and the recipient email addresses look OK.
Is there anyway I can check on our exchange server to see the email hasn't been caught out by any (spam) filters? Or any other reason why it would fail on our side?
You can check in Exchange Message Tracking on your server that is running Microsoft Exchange, as long as you have it enabled.
If the email appears in message tracking on your Exchange Server as "message delivered locally to store...", it proves the emails were delivered to the respective inboxes.
If the email does not appear, it was either stopped by spam filtering that you may have. Failing that, I would speak to your mail provider and ask them to track your email on their server. If there is no record of it there, it basically never left the sender's email server.
On the client side you can mark an email for "Delivery Receipt", then the Exchange server will reply back that the email has been delivered to
<hostname>
http://support.microsoft.com/kb/192929
I am presuming that you manage the system which is receiving the emails.
It all depends on what kind of devices do your edge smtp acceptances (your MX devices).
For us, we have anti-spam devices as our primary MX devices. These devices are fairly good for logging and with a little cleverness and a lot of patience we can figure out if a particular email got received and where it went from there.
Sometimes it requires cooperation from the sending system's administrators -- they should be able to trace the email leaving their network, and be able to tell you when it left their network and where it landed after that. Unless there is a more complex mailflow defined, mail should leave their edge systems and land on one of yours. Using that information you should be able to pick up the trail in the logs of your systems and trace it either to a mailbox or to some place in the flow where it stopped or bounced or got misdirected.