Приём почты с почтового ящика - C#

Узнай цену своей работы

Формулировка задачи:

            OpenPop.Pop3.Pop3Client pop = new Pop3Client();
            List<OpenPop.Mime.Message> list = new List<OpenPop.Mime.Message>();
            pop.Connect(PopAddress.Text, 995, true);
            pop.Authenticate(E_Mail.Text, Password.Text);
            for (int i = 1; i < pop.GetMessageCount(); i++)
            {
                dataGridView1.Rows.Add(1); 
                dataGridView1.Rows[i-1].Cells[0].Value = pop.GetMessage(i).Headers.From; 
                dataGridView1.Rows[i-1].Cells[1].Value = pop.GetMessage(i).Headers.DateSent; 
                dataGridView1.Rows[i-1].Cells[2].Value = pop.GetMessage(i).Headers.Subject;
            }
Проблема в том что эта прога не выводит c первого письма а начинает сразу со третьего, потом выводит второе, т.е. делает наоборот. При этом создаётся как и положено 3 строчки, так как на почтовом ящике в данный момент всего три письма, но последняя строчка пуста. Как сделать вывод всех писем с начиная с первого?

Решение задачи: «Приём почты с почтового ящика»

textual
Листинг программы
for (int i = 1; i < pop.GetMessageCount() + 1; i++)
{
     dataGridView1.Rows.Add(1); 
     dataGridView1.Rows[i-1].Cells[0].Value = pop.GetMessage(i).Headers.From; 
     dataGridView1.Rows[i-1].Cells[1].Value = pop.GetMessage(i).Headers.DateSent; 
     dataGridView1.Rows[i-1].Cells[2].Value = pop.GetMessage(i).Headers.Subject;
}

Оцени полезность:

15   голосов , оценка 3.867 из 5
Похожие ответы