我使用C#使用SmtpClient發送電子郵件。我必須每天發送大約一百封不同的電子郵件,並且我不能使用相同的郵件(添加多個收件人),因爲電子郵件會根據收件人進行更改。爲什麼我不能用c#連續發送兩封郵件?
我沒有使用本地SMTP服務器,並且我明白(根據@rizzle響應here) 需要在一封郵件和另一封郵件之間留出一些時間。然而,我正在睡眠我的程序10秒,但它仍然只是第一封發送的電子郵件,從來沒有第二個(到目前爲止,我正在嘗試使用兩封電子郵件而不是一百封)。這是我的代碼,有什麼想法?
foreach (Person p in clientList)
{
AlternateView plainView = AlternateView.CreateAlternateViewFromString("Texto visible para clientes que no tienen HTML", null, "text/plain");
//AlternateView htmlView = AlternateView.CreateAlternateViewFromString("Here is an embedded image.<img src=cid:companylogo>", null, "text/html");
string htmlString = "html string body of the email";
AlternateView htmlView = AlternateView.CreateAlternateViewFromString(htmlString, null, "text/html");
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.AlternateViews.Add(htmlView);
message.To.Add(p.email.Trim());
message.Subject = p.nombre+", email subject";
message.From = new System.Net.Mail.MailAddress(fromAddress);
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("...");
NetworkCredential myCreds = new NetworkCredential(usr, pass, "");
client.Credentials = myCreds;
client.Send(message);
System.Threading.Thread.Sleep(10000);
}
多久2可以發送之前你必須睡覺嗎? –
您是否可以包含更多的代碼,例如您正在使用內部發送的循環 - 以及您得到的任何錯誤消息 – Andrew
@Andrew我只包含完整的循環代碼。 – Soph