2010-09-24 4 views
5

Hy,utilisant C#, comment récupérer la liste des e-mails depuis un serveur Gmail via POP3

J'ai une application qui envoie des mails avec le serveur SMTP Gmail (smtp.gmail.com) en utilisant SSL.

Maintenant, je veux lire les courriels de ce compte, est-ce que quelqu'un a une idée de comment puis-je faire cela par programmation en C# et ASP.NET?

A ce moment je suis en utilisant ce 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 />"; 

Et quand je déboguer c'est montre qu'il est connecté, mais pas de réponse dans la récupération des e-mails.

+0

Ne devrait pas être pop.gmail.com au lieu de smtp.gmail.com dans l'adresse TcpClient.Connect? –

+0

Ahh oui, mon erreur, j'ai édité à pop.gmail.com mais j'ai toujours le problème ... –

Répondre

1

Les fonctionnalités POP3 de ce open source project (je suis impliqué) contient tout ce dont vous avez besoin. Y compris la prise en charge des communications sécurisées & l'authentification avancée.

Si vous voulez vraiment en faire un vous-même, la navigation dans le code source vous fera probablement gagner des jours de développement.

+0

et cela fonctionne avec n'importe quel type de compte? Comme un compte Gmail? –

+0

Tout compte POP3, y compris Gmail. –

+0

Ce projet est mort sur codeplex .. Les exemples ne construisent même pas. – Seany84

0

J'utilise cette bibliothèque d'exemples qui est apparue à The Code Project link text qui a une API sympa et propre pour fonctionner avec pop3.

Questions connexes