How to add custom headers to System.Net.Mail? When sending an email using the MailMessage class (System.Net.Mail namespace) in an ASP.NET website, certain email headers like Message-ID are not always set. When a Message-ID header is missing, email might be blocked by the recipients SMTP server like Gmail. Therefore it is necessary to set such headers.

Add custom header in MailMessage class / System.Net.Mail Namespace

The System.Net.Mail Namespace allows you to send authenticated SMTP email over TLS. Unfortunately, System.Net.Mail leaves out the mandatory Message-ID header. Here is how you can add this important header to your email. You can set a Message-ID, or any other custom header with the Message.Headers property and .Add method:

Message.Headers.Add( "Message-Id", "<" + Guid.NewGuid().ToString() + "@example.com>" );

Change example.com with your own domain name.

Custom headers
You can use this for other, custom headers as well, for example:

Message.Headers.Add( "X-Instance-ID", Convert.ToString( InstanceID[0] ) );
Donate a cup of coffee
Donate a cup of coffee

Thank you very much! <3 ❤️