2011-03-05 18 views
7

Estoy tratando de enviar correos electrónicos usando el nombre de usuario y la contraseña de gmail en una aplicación de Windows. Sin embargo, el siguiente código es enviar el correo a la primera dirección de correo electrónico cuando recopilo múltiples direcciones de correo electrónico en mi instancia de StringBuilder.Cómo enviar un correo electrónico con varias direcciones en C#

var fromAddress = new MailAddress(username, DefaultSender); 
var toAddress = new MailAddress(builder.ToString());//builder reference having multiple email address 

string subject = txtSubject.Text; 
string body = txtBody.Text; ; 
var smtp = new SmtpClient 
{ 
    Host = HostName, 
    Port = 587, 
    EnableSsl = true, 
    DeliveryMethod = SmtpDeliveryMethod.Network, 
    UseDefaultCredentials = false, 
    Credentials = new NetworkCredential(username, password), 
    //Timeout = 1000000 

}; 
var message = new MailMessage(fromAddress, toAddress) 
{ 
    Subject = subject, 
    Body = body, 
    IsBodyHtml = chkHtmlBody.Checked 

}; 

if (System.IO.File.Exists(txtAttechments.Text)) 
{ 
    System.Net.Mail.Attachment attechment = new Attachment(txtAttechments.Text); 
    message.Attachments.Add(attechment); 
} 

if(this.Enabled) 
    this.Enabled = false; 

smtp.Send(message); 

¿Qué estoy haciendo mal y cómo puedo solucionar mi problema?

+0

¿El el constructor delimita por "," o ";"? – CarneyCode

+0

Instancia de generador que tiene una dirección de correo electrónico delimitada por ",": "email1 @ gmail.com, email2 @ gmail.com" – Joe

Respuesta

4

La mejor apuesta es message.To.Add() cada uno de sus MailAddress es individualmente. Creo que las primeras versiones de .Net eran más felices de analizar separadamente las direcciones de correo electrónico separadas por comas o punto y coma que las versiones de tiempo de ejecución más recientes.

+0

message.To.Add (builder.ToString()) el código funciona bien. ¡Gracias! – Joe

Cuestiones relacionadas