Hy,Korzystanie z C#, jak listę e-maili z serwera Gmail odzyskać poprzez POP3
Mam aplikacji, która wysyła maili z serwera Gmail SMTP (smtp.gmail.com) przy użyciu protokołu SSL.
Teraz chcę przeczytać e-maile z tego konta, czy ktoś ma jakiś pomysł, jak mogę to zrobić programowo w C# i ASP.NET?
W tym momencie używam tego kodu:
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 />";
I kiedy debugowania to To pokazuje, że jest on podłączony ale nie ma odpowiedzi na pobieranie e-maili.
Nie powinien być pop.gmail.com zamiast smtp.gmail.com w adresie TcpClient.Connect? –
Ahh tak, mój błąd, zmieniłem na pop.gmail.com, ale nadal mam problem ... –