Validando una dirección de correo electrónico

Estoy intentando enviar un correo electrónico usando c # usando el siguiente código.

MailMessage mail = new MailMessage();
mail.From = new MailAddress(fromAddress, friendlyName);
mail.To.Add(toAddress);
mail.CC.Add(ccAddress);

//set the content
mail.Subject = emailSubject;
mail.Body = emailHeader + "\n" + emailBody;

//send the message
SmtpClient smtp = new SmtpClient(ServerAddress);
smtp.Credentials = CredentialCache.DefaultNetworkCredentials;
mail.IsBodyHtml = true;
smtp.Send(mail);

Ahora, la cadena "toAddress" que recibe mi función puede contener una sola dirección o puede tener muchas direcciones delimitadas por comas.

Ahora el problema es que, en el caso de varias direcciones delimitadas por comas, una o dos de ellas pueden tener el formato de dirección de correo electrónico incorrecto.

Entonces, cuando intento enviar un correo electrónico utilizando este código, obtengo la excepción:

"La cadena especificada no está en la forma requerida para una dirección de correo electrónico".

¿Hay alguna forma de validar las direcciones de correo electrónico delimitadas por comas? Había leído en alguna parte que la única forma de validar una dirección de correo electrónico es enviándole un correo electrónico, porque las expresiones regulares para validar una dirección de correo electrónico pueden ser sorprendentemente enormes.

Además, no tengo control sobre el diseño, ni sobre cómo esa cadena de dirección tiene mi función, no puedo agregar la validación de correo electrónico en la interfaz de usuario, por lo que no puedo hacer nada ...

Mi problema es que el correo electrónico no será entregado aTODOS Las direcciones en la cadena delimitada por comas, aunque soloALGUNOS Las direcciones son de formato incorrecto.

¿Hay alguna forma de validar correctamente las direcciones de correo electrónico en .NET? ¿Hay alguna forma de eliminar las direcciones de correo electrónico incorrectas y enviar el correo solo a las buenas?