Is it possible to capture the "Message-ID" of an email message sent with SmtpClient?
You can add your own message id before send the email. I use the next code:
Guid id = Guid.NewGuid(); //Save the id in your database
mensajeEmail.Headers.Add("Message-Id", String.Format("<{0}@{1}>",id.ToString(),"mail.example.com"));
Note: For download messages I use OpenPop.Net, I check the message.Headers.InReplyTo
property, and there is the message id sended.
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