2010-04-11 116 views
1

我正在使用SmtpClient(.NET 3.5,VS 2008)進行大量郵件。下面的代碼從每次發送大約2秒開始,在foreach循環處理大約30個地址並且惡化之後惡化到每次發送超過20秒。有任何想法嗎?SmtpClient變得越來越慢

吉姆

// Setup Client 
SmtpClient client = new SmtpClient(smtpHost, 587); 
client.Credentials = new NetworkCredential(smptLogin, smtpPassword); 

// Send mail 
foreach (string address in addresses) 
{ 
    MailMessage message = BuildMessage(body); 
    message.To.Clear(); 
    message.To.Add(new MailAddress(address)); 

    client.Send(message); 
} 
+0

您要發送什麼SMTP服務器? – SLaks 2010-04-11 19:10:08

回答

4

運行要連接到可能會被實施節流作爲反垃圾郵件措施的主機提供商。

它看起來像你的郵件內容不會改變每個收件人。在企業環境中,我會發送一封郵件,而不是幾十封郵件,並將收件人添加到「密件抄送」列表中。你可以試試這個。