2011-03-05 111 views
7

我试图在Windows应用程序中使用gmail的用户名和密码发送电子邮件。但是,当我在我的StringBuilder实例中收集多个电子邮件地址时,以下代码仅将邮件发送到第一个电子邮件地址。如何用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); 

我在做什么错,我该如何解决我的问题?

+0

不工作生成器用“,”或“;”分隔? – CarneyCode 2011-03-05 07:34:22

+0

生成器实例的电子邮件地址由“,”分隔:“email1 @ gmail.com,email2 @ gmail.com” – Joe 2011-03-05 07:38:05

回答

4

最好的选择是message.To.Add()你的每个MailAddress个别。我认为.Net的早期版本比较新的运行时版本更容易解析逗号或分号分隔的电子邮件地址。

+0

message.To.Add(builder.ToString())代码工作正常。谢谢! – Joe 2011-03-05 07:53:15

相关问题