Is it possible to capture the "Message-ID" of an email message sent with SmtpClient?
.net, c#, hmail-server, mailmessage, smtp
Solution
The standard solution to your problem is VERP. Read Bernstein's original article to find out why `Message-Id` et al. are not reliable. http://cr.yp.to/proto/verp.txt
Problem
Using the `SmtpClient` and `MailMessage` classes in .NET to send emails through a local mail server (hMailServer), I currently found no way to get the `Message-ID` header value of a sent message. The idea behind I'm trying to programmatically track messages that are undeliverable, so I have to find a way to identify replies from the destination SMTP server that rejects a certain message. Now I thought of simply remembering the `Message-ID` SMTP header value and parse incoming mails for this ID. I've tried to inspect the `Headers` collection after sending the message, but I did not find any `Message-ID`. My question Is it possible to get the `Message-ID` header value that my SMTP server adds during sending of a `MailMessage` instance? Update 2012-05-27 As per this example I've successfully tried to manually generate a `Message-ID` on my own, just before sending. All my examples work so far, so it seems that this is a solution to my question.