2015-03-29 5 views
0

Я хочу получить новейшее письмо от Gmail, но я не могу получить его с помощью этой программы. У меня есть новое письмо от Gmail, но моя программа показывает другое электронное письмо.Получение новейшего письма из gmail с pop3

private void button5_Click(object sender, EventArgs e) 
{ 
    Cursor cr = Cursor.Current; 
    Cursor.Current = Cursors.WaitCursor; 
    try 
    { 
     TcpClient tcpclient = new TcpClient(); 
     tcpclient.Connect("pop.gmail.com", 995); 
     System.Net.Security.SslStream sslstream = new SslStream(tcpclient.GetStream()); 
     sslstream.AuthenticateAsClient("pop.gmail.com");     
     System.IO.StreamWriter sw = new StreamWriter(sslstream); 
     System.IO.StreamReader reader = new StreamReader(sslstream); 
     sw.WriteLine("USER MyGmail"); 
     sw.Flush(); 
     sw.WriteLine("PASS MyGmailPass"); 
     sw.Flush(); 
     sw.WriteLine("STAT"); 
     sw.Flush(); 
     sw.WriteLine("RETR 1\r\n"); 
     sw.Flush(); 
    } 
      } 
+0

см. Эти два примера: http://stackoverflow.com/questions/7026101/imap-encoded-emails и https://kevinthant.wordpress.com/2009/07/11/coding-imap-email-access -using-asp-netc/ – user2509093

+0

Ни одна из этих ссылок не относится к вашему вопросу. – jstedfast

ответ

1

Команда RETR используется для загрузки сообщения по указанному индексу (1 на основе, а не с 0).

RETR 1 извлекает первое (старейшее) сообщение в сообщении, но не последнее.

Если вы хотите, чтобы последнее сообщение появилось в вашей учетной записи GMail, вам нужно сначала узнать, сколько сообщений у вас есть в вашей катушке.

Могу ли я спросить, почему вы пытаетесь написать свою собственную программу, например, вместо использования библиотеки, например, MailKit? Это сделало бы вашу жизнь чрезвычайно легкой.

 Смежные вопросы

  • Нет связанных вопросов^_^