Используя C #, как получить список писем с сервера Gmail через POP3 - PullRequest
5 голосов
/ 24 сентября 2010

Hy,

У меня есть приложение, которое отправляет письма с SMTP-сервера Gmail (smtp.gmail.com) с использованием SSL.

Теперь я хочу прочитать письма от этого аккаунта, делаетКто-нибудь есть какие-либо идеи, как я могу сделать это программно в C # и ASP.NET?

На данный момент я использую этот код:

TcpClient tcpClient = new TcpClient();
tcpClient.Connect("pop.gmail.com", 587);

NetworkStream netStream = tcpClient.GetStream();
System.IO.StreamReader strReader = new System.IO.StreamReader(netStream);

Label7.Text = strReader.ReadLine() + "<br />"; 
//Label7.Text = "Server connected!";

byte[] WriteBuffer = new byte[1024];
ASCIIEncoding enc = new System.Text.ASCIIEncoding();

WriteBuffer = enc.GetBytes("USER " + TextBox4.Text + "\r\n");
netStream.Write(WriteBuffer, 0, WriteBuffer.Length);
Label7.Text += strReader.ReadLine() + "<br />";

WriteBuffer = enc.GetBytes("PASS " + TextBox5.Text + "\r\n");
netStream.Write(WriteBuffer, 0, WriteBuffer.Length);
Label7.Text += strReader.ReadLine() + "<br />";

WriteBuffer = enc.GetBytes("LIST\r\n");
netStream.Write(WriteBuffer, 0, WriteBuffer.Length);

String ListMessage;
while (true)
{
    ListMessage = strReader.ReadLine();
    if (ListMessage == ".")
    {
        break;
    }
    else
    {
        Label7.Text += ListMessage + "<br />";
        continue;
    }
}

WriteBuffer = enc.GetBytes("QUIT\r\n");
netStream.Write(WriteBuffer, 0, WriteBuffer.Length);
Label7.Text += strReader.ReadLine() + "<br />"; 

И когда я отлаживаю его, это показывает, чтоэто связано, но нет ответа при получении электронной почты.

Ответы [ 2 ]

1 голос
/ 24 сентября 2010

POP3-возможности этого проекта с открытым исходным кодом (я участвую) содержит все, что вам нужно. Включая поддержку защищенных коммуникаций и расширенную аутентификацию.

Если вы действительно хотите сделать это самостоятельно, просмотр исходного кода, вероятно, сэкономит вам дни разработки.

0 голосов
/ 24 сентября 2010

Я использую эту библиотеку примеров, которая появилась в The Code Project текст ссылки , которая имеет приятный и чистый API для работы с pop3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...