Hy,C#, wie die Liste der E-Mails von Google Mail-Server über POP3 abrufen
ich eine Anwendung, die E-Mails mit Google Mail SMTP-Server (smtp.gmail.com) unter Verwendung von SSL sendet.
Jetzt möchte ich die E-Mails von diesem Konto lesen, hat jemand eine Idee, wie kann ich dies programmatisch in C# und ASP.NET machen?
An diesem Punkt bin ich mit diesem Code:
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 />";
Und wenn ich debuggen es ihm ist, zeigt, dass es angeschlossen ist, aber keine Antwort E-Mails in das Abrufen.
Sollte nicht pop.gmail.com statt smtp.gmail.com in der TcpClient.Connect Adresse sein? –
Ahh ja, mein Fehler, ich habe auf pop.gmail.com bearbeitet, aber ich habe immer noch das Problem ... –