form - Enviar correo a través de SMTP en C#usando BCC sin TO
enviar email c# windows form (7)
Estoy tratando de usar la clase System.Net.Mail.MailMessage
en C # para crear un correo electrónico que se envía a una lista de direcciones de correo electrónico, todo a través de BCC
. No quiero incluir una dirección TO
, pero parece que debo hacerlo porque obtengo una excepción si uso una cadena vacía para la dirección TO
en el constructor MailMessage
. El error dice:
ArgumentException
The parameter ''addresses'' cannot be an empty string.
Parameter name: addresses
Seguramente es posible enviar un correo electrónico utilizando solo BCC
ya que esto no es una limitación de SMTP.
¿Hay alguna forma de evitar esto?
Debes incluir una dirección TO. Simplemente envíela a una dirección de correo electrónico "basura" que no le moleste recibir correo.
Haga lo mismo que hace para las explosiones de correo interno en las que no desea que las personas respondan-a-todo todo el tiempo.
Envíelo a usted mismo (o a una cuenta ficticia), luego agregue su lista BCC.
Simplemente no llame al método Add en la propiedad To-property.
Creo que si comenta todo el emailMessage.To.Add(sendTo);
línea, enviará el correo electrónico con el campo To
vacío.
Ni siquiera necesita ser una dirección de correo electrónico real, normalmente utilizo [email protected]
para TO
y NoReply@CompanyName
para FROM
.
Debe tener una dirección. Ha sido así desde que las implementaciones originales de sendmail y de los años 80 y todos los remitentes de correo SMTP, tengo conocimiento, tienen el mismo requisito. Solo puede usar una dirección ficticia para para.
Puede usar una dirección falsa temporal y luego eliminarla justo después de:
MailMessage msg = new MailMessage(from, "[email protected]");
msg.To.Clear();
foreach (string email in bcc.Split('';'').Select(x => x.Trim()).Where(x => x != ""))
{
msg.Bcc.Add(email);
}