Search code examples
c#smtp

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


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],");

Solution

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

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

    Remove the trailing comma and it will work:

    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(), ""));
    }