MailMessage.To.Add() throwing exception : "An invalid character was found in the mail header: ','."

nbi picture nbi · Sep 18, 2014 · Viewed 40.8k times · Source

I am getting this error when I am using it in sharepoint project, while in console app its working fine

I am using MailMessage class to send email using SMTP . But when I trying to add user to 'To' property I am getting {"An invalid character was found in the mail header: ','."} exception, which I think something fishy is happening here as ',' is allowed to separate multiple users . Adding multiple user

** Multiple e-mail addresses must be separated with a comma character (",").**

MailMessage mailMessage = new MailMessage();

 mailMessage.To.Add("[email protected],[email protected],");

Answer

nbi picture nbi · Sep 19, 2014

Got the culprit: It's the extra comma(,) at the end of last email address

mailMessage.To.Add("[email protected],[email protected],");

Just removed that and voila! its working. Don't know why it's working in console application but not in sharepoint :(

mailMessage.To.Add("[email protected],[email protected]");

If this does not work in SharePoint then please add each address separately onto MailMessage object like below;

foreach (var address in StringofEmails.Split(",")) {
MailMessage.To.Add(new MailAddress(address.Trim(), ""));

}