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 Итерация # Файла Выпуск
Что я делаю неправильно?
Я не думаю, что код, который вы показали, сделает это. Пожалуйста, покажите краткую, но полную программу и образец входного файла. (Программе, конечно, не нужно отправлять электронные письма - просто напишите вывод консоли.) Обратите внимание, что использование цикла 'foreach' над' File.ReadLines' будет проще. –
Кажется, вы делаете client.Send (mailMessage); каждый цикл, в то время как mailMessage.To.Add (строка); похоже, что он хранит весь список получателей. Попробуйте создать новое задание mailMessage при начале каждого цикла или списке рассылки получателей для быстрого исправления, чтобы узнать, работает ли он. – wondra
http://prntscr.com/2li2bu Это результат, здесь он идет правильно. – m0nsterp1ece