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.
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