string line;
int counter = 0;
do
{
line = readFile.ReadLine();
counter++;
var emailAddress = line;
if (line != null)
{
Console.WriteLine("Reading client email address...");
mailMessage.From = new MailAddress("myEmailAddress");
mailMessage.To.Add(line);
mailMessage.Subject = "TEST_SUBJECT";
mailMessage.Body = "TEST_BODY";
client.EnableSsl = true;
client.Send(mailMessage);
Console.WriteLine("Email sent to: " + line);
}
} while (line != null);
問題是,每當應用程序發送電子郵件,它迭代再次槽源(存儲的電子郵件的文件),它是這樣:
讀線>發送電子郵件至線1>讀取行>發送電子郵件到第1行&第2行>閱讀行>發送電子郵件到第1,2行& 3等等。它不會像它應該:閱讀線路>發送電子郵件到第1行>發送電子郵件到第2行。C#文件迭代問題
我做錯了什麼?
我不認爲你已經顯示的代碼將做到這一點。請顯示一個簡短但完整的程序和一個示例輸入文件。 (程序不需要發送電子郵件 - 只需編寫控制檯輸出。)請注意,在File.ReadLines上使用'foreach'循環會更簡單。 –
看來你做client.Send(mailMessage);每個週期while mailMessage.To.Add(line);看起來像存儲整個收件人列表。嘗試在每個週期開始時創建mailMessage的新實例或清除收件人列表以快速修復,以查看它是否有效。 – wondra
http://prntscr.com/2li2bu這是輸出,在這裏,它有點正確。 – m0nsterp1ece