Meilleur auteur de réponses
Lecture de mails POP3 avec Visual Basic .NET 2005

Question
-
Bonjour à tous,
Je suis actuellement en train de développer une application qui doit lire les mails reçus, télécharger les fichier joints et supprimer ces emails, grâce à une connexion POP SSL.
Le problème, c'est que j'ai beau parcourir le web, je ne trouve pas le code que je cherche. J'ai reussi à me fabriquer un début de code grâce à une source, pour la connexion, en y insérant une connexion SSL (ne faites pas attention au nommage des variables ou autre, j'ai repris une partie du code et ce n'est que pour le test):
Code Snippet
Public Function ConnectionNbMails = 0
Dim retServer As String
Try
' Initialisation
co = New TcpClient(Server, ServerPort)
'ssl
pop3Stream = New SslStream(co.GetStream(), False)
pop3Stream.ReadTimeout = 30
pop3Stream.AuthenticateAsClient(Server)
ns = co.GetStream()
sr = New StreamReader(pop3Stream)
'sr.ReadLine()
MsgBox(sr.ReadLine)
Dim sOut As String = "USER " & User & vbCrLf
' Envoi du login
SendStream(sOut)
retServer = sr.ReadLineMsgBox(sr.Readline)
RaiseEvent ConnectionStatus(retServer)
' Envoi du mot de passe
sOut = "PASS " & PWord & vbCrLf
SendStream(sOut)
retServer = sr.ReadLine
RaiseEvent ConnectionStatus(retServer)
If retServer.Substring(0, 4) <> "-ERR" Then
NbMails = RecupMsgInfo(1)
RaiseEvent ConnectionStatus("Nombre de mails: " & NbMails.ToString())
Return True
Else
RaiseEvent ConnectionStatus("Identification refusée !")
Return False
End If
Catch ex As Exception
RaiseEvent ConnectionStatus(ex.ToString())
Return False
End TryEnd Function
' Envoi des commandes
Private Sub SendStream(ByVal s As String)
Dim FluxSortant() As Byte
FluxSortant = EncodeByte(s)
Try
ns.Write(FluxSortant, 0, FluxSortant.Length)
Catch ex As Exception
RaiseEvent ConnectionStatus(ex.Message)
End Try
End Sub
' Encodage des commandes pour POP3
Private Function EncodeByte(ByVal s As String) As Byte()
Return System.Text.ASCIIEncoding.ASCII.GetBytes(s.ToCharArray())
End Function
Premier problème:
- Le premier MsgBox me ramène bien le message d'accueil du serveur "+OK wee01s Cyrus POP3 Murder v2.3.7 server ready", en revanche, le second me manène "nothing" et me génère une erreur, au lieu de me retourner "+OK password". Le problème vient peut-être de mon implémentation pour le SSL, je ne sais pas
- 2ème soucis, je ne trouve pas de code pour télécharger les pièces jointes. et je suis vraiment coincé, car c'est le but premier de mon application.
Je m'en remets donc à vous car je suis vraiment coincé, impossible de passer le login, et impossible de trouver le code pour télécharger les fichiers joints;
Je vous en remercie infiniment
Cyril
Réponses
-
-
Bonjour,
Concernant le second problème il te suffit d'envoyer la commande RETR +le numéro du mail que tu veut récupèrer, le serveur POP te renvera tout le contenu du mail, tu devra alors te dbrouillé pour le découper et récupérer uniquement ceux dont tu a besoin.....la partie la plus difficile est le découpage du mail car la structure de ce dernier vari selon le client mail utilisé!!!
Toutes les réponses
-
-
Bonjour,
Concernant le second problème il te suffit d'envoyer la commande RETR +le numéro du mail que tu veut récupèrer, le serveur POP te renvera tout le contenu du mail, tu devra alors te dbrouillé pour le découper et récupérer uniquement ceux dont tu a besoin.....la partie la plus difficile est le découpage du mail car la structure de ce dernier vari selon le client mail utilisé!!!