2011-03-05 70 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

相關問題