Connexion POP pour lecture email

EvilGost Messages postés 235 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 mai 2011 - 19 juil. 2007 à 15:30
EvilGost Messages postés 235 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 mai 2011 - 19 juil. 2007 à 17:06
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):

Public Function Connection   

       NbMails = 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)
            MsgBox(sr.ReadLine)
            Dim sOut As String = "USER " & User & vbCrLf

            ' Envoi du login
            SendStream(sOut)
            retServer = sr.ReadLine

           MsgBox(sr.Readline) 'génère une erreur car sr.Readline=nothing

            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 Try

End 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




EvilGost [;)]

1 réponse

EvilGost Messages postés 235 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 mai 2011 2
19 juil. 2007 à 17:06
J'ai déjà trouvé ma réponse pour le premier point, il fallait mettre:
            Pop3StreamReader = New StreamReader(pop3Stream, System.Text.Encoding.ASCII)

par contre, je trouve toujours pas de code en .NET pour le deuxième point

EvilGost [;)]
0
Rejoignez-nous