net multiple mail example body addresses c# .net system.net.mail mailmessage

example - mailmessage c# multiple addresses



Dirección múltiple en el constructor MailAddress (7)

@Tschareck

"Se usa una coma para separar los elementos en una lista de direcciones de correo. Como resultado, no se debe usar una coma en los nombres para mostrar sin comillas en una lista. Se permitirían las siguientes direcciones de correo" en msdn.microsoft.com/en-us/library/…

Saludos cordiales, Anarud

Estaba tratando de agregar varios para tratar de esta manera.

MailAddress mailAddressTo = new MailAddress("[email protected];[email protected]","Vetrivelmp");

pero arroja un error como

An invalid character was found in the mail header: '';''



En realidad, el punto y coma no es un delimitador válido. Desafortunadamente, MSDN no documenta esto, tuve que averiguarlo por mí mismo.

Si desea agregar más direcciones, divídalos por comas. Y el espacio dividirá el nombre y la dirección de correo electrónico. La propiedad "A" acepta los siguientes formatos:

etc ...

Escribí más sobre este tema en esta publicación de blog.



No puede usar el constructor MailAddress para especificar múltiples recibos, pero puede usar el objeto MailMessage como se muestra a continuación.

Usando el MailMessage ( no MailAddress ):

var msg = new MailMessage("[email protected]", "[email protected], [email protected]");

otra forma es

MailMessage mail = new MailMessage(); mail.To.Add("[email protected],[email protected],[email protected]");

otra forma es

MailMessage msg = new MailMessage(); msg.To.Add("[email protected]"); msg.To.Add("[email protected]"); msg.To.Add("[email protected]"); msg.To.Add("[email protected]");


Podría haber una pregunta de por qué quieres hacer esto? Algo como MailMessage.To es un MailAddressCollection cuyo método Add está sobrecargado para tomar múltiples direcciones de correo electrónico en una cadena, separados por una coma (consulte http://msdn.microsoft.com/en-us/library/ms144695.aspx ) .

El uso habitual de los objetos MailAddress es agregarlos a los correos electrónicos y, si tiene varias direcciones, asumo que desea agregarlos a uno de los campos Para, CC, etc., en cuyo caso, la sobrecarga de Agregar debería ser una buena opción. Si hay algo más, entonces tendrá que proporcionar más contexto para lo que está tratando de hacer.


Use una coma (,) como separador en lugar de punto y coma (;).

Si se pasan varias direcciones de correo electrónico separadas con un carácter de punto y coma (";") en el parámetro direcciones. se genera una excepción FormatException.

Ejemplos que funcionan

MailAddressCollection.Add (String):

using (MailMessage msg = new MailMessage()) { ... msg.To.Add("[email protected], [email protected]"); ... }

MailAddressCollection.Add (MailAddress):

using (MailMessage msg = new MailMessage()) { ... msg.To.Add(new MailAddress("[email protected]", "Vetrivelmp")); msg.To.Add(new MailAddress("[email protected]", "Vetrivelmp1")); ... }