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: '';''
Aquí hay otra variación sobre este tema, FWIW:
SenderEmail = "[email protected]";
RecipientEmail = "[email protected], [email protected], [email protected]";
MailMessage msg = new MailMessage(SenderEmail, RecipientEmail);
Tenga en cuenta las comas. Más detalles se pueden encontrar en MSDN here .
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:
- "[email protected]"
- "[email protected], [email protected]"
- "Nombre [email protected]"
- "nombre [email protected], [email protected]"
etc ...
Escribí más sobre este tema en esta publicación de blog.
Esto es lo que funcionó para mí.
MailMessage m_message = new MailMessage();
string m_addys = "[email protected],[email protected]";
m_message.To.Add(m_addys);
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"));
...
}