Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

client pop3 (WinSock) = probleme de récupération des messages serveurs

8 réponses
Avatar
cThy
Bonjour,

J'ai réussi a me connecté au serveur pop3 avec Winsock :

Dim strData As String

ControlWinsock.RemoteHost = 10.0.0.1
ControlWinsock.RemotePort = 110

' Fermeture si déjà ouvert
If ControlWinsock.State <> sckClosed Then ControlWinsock.Close

' Connexion
ControlWinsock.Connect
While ControlWinsock.State <> sckConnected
DoEvents
Wend

' Affichage du message de bienvenue
ControlWinsock.GetData strData, vbString
MsgBox (strData)

Le MsgBox affiche bien la première ligne renvoyée par le serveur mais apres
mes autres demandes ont l'air de bien se passer mais je n'arrive pas a voir
les autres messages serveur.

ControlWinsock.SendData "USER username" & vbCrLf
ControlWinsock.GetData strData, vbString
MsgBox (strData)

ControlWinsock.SendData "PASS password" & vbCrLf
ControlWinsock.GetData strData, vbString
MsgBox (strData)

Vous voyez pourquoi ?

Au fait j'ai récupéré sur le Net la boucle qui appel DoEvents mais je n'ai
pas compris ce que c'était à par que ca attend la réponse du serveur pour
continuer. Peut etre est-ce cela qui manque dans mes autres envois de
commande au serveur mais si je les met ca attend indéfiniement.

Merci

8 réponses

Avatar
ng
Salut,

As-yu regardé l'évenement DataArrival du controle winsock ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

cThy a écrit :

Bonjour,

J'ai réussi a me connecté au serveur pop3 avec Winsock :

Dim strData As String

ControlWinsock.RemoteHost = 10.0.0.1
ControlWinsock.RemotePort = 110

' Fermeture si déjà ouvert
If ControlWinsock.State <> sckClosed Then ControlWinsock.Close

' Connexion
ControlWinsock.Connect
While ControlWinsock.State <> sckConnected
DoEvents
Wend

' Affichage du message de bienvenue
ControlWinsock.GetData strData, vbString
MsgBox (strData)

Le MsgBox affiche bien la première ligne renvoyée par le serveur mais
apres mes autres demandes ont l'air de bien se passer mais je
n'arrive pas a voir les autres messages serveur.

ControlWinsock.SendData "USER username" & vbCrLf
ControlWinsock.GetData strData, vbString
MsgBox (strData)

ControlWinsock.SendData "PASS password" & vbCrLf
ControlWinsock.GetData strData, vbString
MsgBox (strData)

Vous voyez pourquoi ?

Au fait j'ai récupéré sur le Net la boucle qui appel DoEvents mais je
n'ai pas compris ce que c'était à par que ca attend la réponse du
serveur pour continuer. Peut etre est-ce cela qui manque dans mes
autres envois de commande au serveur mais si je les met ca attend
indéfiniement.

Merci


Avatar
François Picalausa
Bonjour/soir,

En fait, il faut utiliser comme le dit ng le data arrival.
Tu as un exemple pour SMTP sur la faq:
http://faq.vb.free.fr?question=2

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"cThy" a écrit dans le message de
news:%
Bonjour,

J'ai réussi a me connecté au serveur pop3 avec Winsock :

Dim strData As String

ControlWinsock.RemoteHost = 10.0.0.1
ControlWinsock.RemotePort = 110

' Fermeture si déjà ouvert
If ControlWinsock.State <> sckClosed Then ControlWinsock.Close

' Connexion
ControlWinsock.Connect
While ControlWinsock.State <> sckConnected
DoEvents
Wend

' Affichage du message de bienvenue
ControlWinsock.GetData strData, vbString
MsgBox (strData)

Le MsgBox affiche bien la première ligne renvoyée par le serveur mais
apres mes autres demandes ont l'air de bien se passer mais je
n'arrive pas a voir les autres messages serveur.

ControlWinsock.SendData "USER username" & vbCrLf
ControlWinsock.GetData strData, vbString
MsgBox (strData)

ControlWinsock.SendData "PASS password" & vbCrLf
ControlWinsock.GetData strData, vbString
MsgBox (strData)

Vous voyez pourquoi ?

Au fait j'ai récupéré sur le Net la boucle qui appel DoEvents mais je
n'ai pas compris ce que c'était à par que ca attend la réponse du
serveur pour continuer. Peut etre est-ce cela qui manque dans mes
autres envois de commande au serveur mais si je les met ca attend
indéfiniement.

Merci


Avatar
cThy
Le probleme des exemple que je trouve c'est que tous passent par une
interface utilisateur et qui attend donc une intervention de l'utilisateur
entre chaque action. Hors dans mon cas je veux effectuer ces traitements
automatiquement.

"François Picalausa" a écrit dans le message de
news:%
Bonjour/soir,

En fait, il faut utiliser comme le dit ng le data arrival.
Tu as un exemple pour SMTP sur la faq:
http://faq.vb.free.fr?question=2

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"cThy" a écrit dans le message de
news:%
> Bonjour,
>
> J'ai réussi a me connecté au serveur pop3 avec Winsock :
>
> Dim strData As String
>
> ControlWinsock.RemoteHost = 10.0.0.1
> ControlWinsock.RemotePort = 110
>
> ' Fermeture si déjà ouvert
> If ControlWinsock.State <> sckClosed Then ControlWinsock.Close
>
> ' Connexion
> ControlWinsock.Connect
> While ControlWinsock.State <> sckConnected
> DoEvents
> Wend
>
> ' Affichage du message de bienvenue
> ControlWinsock.GetData strData, vbString
> MsgBox (strData)
>
> Le MsgBox affiche bien la première ligne renvoyée par le serveur mais
> apres mes autres demandes ont l'air de bien se passer mais je
> n'arrive pas a voir les autres messages serveur.
>
> ControlWinsock.SendData "USER username" & vbCrLf
> ControlWinsock.GetData strData, vbString
> MsgBox (strData)
>
> ControlWinsock.SendData "PASS password" & vbCrLf
> ControlWinsock.GetData strData, vbString
> MsgBox (strData)
>
> Vous voyez pourquoi ?
>
> Au fait j'ai récupéré sur le Net la boucle qui appel DoEvents mais je
> n'ai pas compris ce que c'était à par que ca attend la réponse du
> serveur pour continuer. Peut etre est-ce cela qui manque dans mes
> autres envois de commande au serveur mais si je les met ca attend
> indéfiniement.
>
> Merci




Avatar
François Picalausa
Bonjour/soir,

L'exemple de la faq ne nécessite aucune intervention de l'utilisateur!
On attend pas une intervention de l'utilisateur, juste l'arrivée de données
(l'intervention du serveur).

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"cThy" a écrit dans le message de
news:e8Y4$
Le probleme des exemple que je trouve c'est que tous passent par une
interface utilisateur et qui attend donc une intervention de
l'utilisateur entre chaque action. Hors dans mon cas je veux
effectuer ces traitements automatiquement.

"François Picalausa" a écrit dans le message de
news:%
Bonjour/soir,

En fait, il faut utiliser comme le dit ng le data arrival.
Tu as un exemple pour SMTP sur la faq:
http://faq.vb.free.fr?question=2

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"cThy" a écrit dans le message de
news:%
Bonjour,

J'ai réussi a me connecté au serveur pop3 avec Winsock :

Dim strData As String

ControlWinsock.RemoteHost = 10.0.0.1
ControlWinsock.RemotePort = 110

' Fermeture si déjà ouvert
If ControlWinsock.State <> sckClosed Then ControlWinsock.Close

' Connexion
ControlWinsock.Connect
While ControlWinsock.State <> sckConnected
DoEvents
Wend

' Affichage du message de bienvenue
ControlWinsock.GetData strData, vbString
MsgBox (strData)

Le MsgBox affiche bien la première ligne renvoyée par le serveur
mais apres mes autres demandes ont l'air de bien se passer mais je
n'arrive pas a voir les autres messages serveur.

ControlWinsock.SendData "USER username" & vbCrLf
ControlWinsock.GetData strData, vbString
MsgBox (strData)

ControlWinsock.SendData "PASS password" & vbCrLf
ControlWinsock.GetData strData, vbString
MsgBox (strData)

Vous voyez pourquoi ?

Au fait j'ai récupéré sur le Net la boucle qui appel DoEvents mais
je n'ai pas compris ce que c'était à par que ca attend la réponse du
serveur pour continuer. Peut etre est-ce cela qui manque dans mes
autres envois de commande au serveur mais si je les met ca attend
indéfiniement.

Merci






Avatar
cThy
Oui mais c'est du smtp alors que moi c'est du pop que je veux faire et je
n'arrive pas a enchainer les commandes, seule la première marche.

"François Picalausa" a écrit dans le message de
news:%239%
Bonjour/soir,

L'exemple de la faq ne nécessite aucune intervention de l'utilisateur!
On attend pas une intervention de l'utilisateur, juste l'arrivée de


données
(l'intervention du serveur).

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"cThy" a écrit dans le message de
news:e8Y4$
> Le probleme des exemple que je trouve c'est que tous passent par une
> interface utilisateur et qui attend donc une intervention de
> l'utilisateur entre chaque action. Hors dans mon cas je veux
> effectuer ces traitements automatiquement.
>
> "François Picalausa" a écrit dans le message de
> news:%
>> Bonjour/soir,
>>
>> En fait, il faut utiliser comme le dit ng le data arrival.
>> Tu as un exemple pour SMTP sur la faq:
>> http://faq.vb.free.fr?question=2
>>
>> --
>> François Picalausa (MVP VB)
>> FAQ VB : http://faq.vb.free.fr
>> MSDN : http://msdn.microsoft.com
>>
>>
>> "cThy" a écrit dans le message de
>> news:%
>>> Bonjour,
>>>
>>> J'ai réussi a me connecté au serveur pop3 avec Winsock :
>>>
>>> Dim strData As String
>>>
>>> ControlWinsock.RemoteHost = 10.0.0.1
>>> ControlWinsock.RemotePort = 110
>>>
>>> ' Fermeture si déjà ouvert
>>> If ControlWinsock.State <> sckClosed Then ControlWinsock.Close
>>>
>>> ' Connexion
>>> ControlWinsock.Connect
>>> While ControlWinsock.State <> sckConnected
>>> DoEvents
>>> Wend
>>>
>>> ' Affichage du message de bienvenue
>>> ControlWinsock.GetData strData, vbString
>>> MsgBox (strData)
>>>
>>> Le MsgBox affiche bien la première ligne renvoyée par le serveur
>>> mais apres mes autres demandes ont l'air de bien se passer mais je
>>> n'arrive pas a voir les autres messages serveur.
>>>
>>> ControlWinsock.SendData "USER username" & vbCrLf
>>> ControlWinsock.GetData strData, vbString
>>> MsgBox (strData)
>>>
>>> ControlWinsock.SendData "PASS password" & vbCrLf
>>> ControlWinsock.GetData strData, vbString
>>> MsgBox (strData)
>>>
>>> Vous voyez pourquoi ?
>>>
>>> Au fait j'ai récupéré sur le Net la boucle qui appel DoEvents mais
>>> je n'ai pas compris ce que c'était à par que ca attend la réponse du
>>> serveur pour continuer. Peut etre est-ce cela qui manque dans mes
>>> autres envois de commande au serveur mais si je les met ca attend
>>> indéfiniement.
>>>
>>> Merci




Avatar
François Picalausa
Bonjour/soir,

C'est du SMTP mais il s'agit juste d'illustrer la manière de procéder!
On peut copier le "schéma" pour du POP et tes commandes s'enchaineront!

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"cThy" a écrit dans le message de
news:
Oui mais c'est du smtp alors que moi c'est du pop que je veux faire
et je n'arrive pas a enchainer les commandes, seule la première
marche.


Avatar
ng
ReSalut,

Il suffit juste d'utiliser une variable Tag et d'attendre les données dans
le dataarrival pour passer à la commande suivante.
Et l'exemple de la FAQ ne nécessite aucune intervention de l'user.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

cThy a écrit :

Le probleme des exemple que je trouve c'est que tous passent par une
interface utilisateur et qui attend donc une intervention de
l'utilisateur entre chaque action. Hors dans mon cas je veux
effectuer ces traitements automatiquement.

"François Picalausa" a écrit dans le message de
news:%
Bonjour/soir,

En fait, il faut utiliser comme le dit ng le data arrival.
Tu as un exemple pour SMTP sur la faq:
http://faq.vb.free.fr?question=2

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"cThy" a écrit dans le message de
news:%
Bonjour,

J'ai réussi a me connecté au serveur pop3 avec Winsock :

Dim strData As String

ControlWinsock.RemoteHost = 10.0.0.1
ControlWinsock.RemotePort = 110

' Fermeture si déjà ouvert
If ControlWinsock.State <> sckClosed Then ControlWinsock.Close

' Connexion
ControlWinsock.Connect
While ControlWinsock.State <> sckConnected
DoEvents
Wend

' Affichage du message de bienvenue
ControlWinsock.GetData strData, vbString
MsgBox (strData)

Le MsgBox affiche bien la première ligne renvoyée par le serveur
mais apres mes autres demandes ont l'air de bien se passer mais je
n'arrive pas a voir les autres messages serveur.

ControlWinsock.SendData "USER username" & vbCrLf
ControlWinsock.GetData strData, vbString
MsgBox (strData)

ControlWinsock.SendData "PASS password" & vbCrLf
ControlWinsock.GetData strData, vbString
MsgBox (strData)

Vous voyez pourquoi ?

Au fait j'ai récupéré sur le Net la boucle qui appel DoEvents mais
je n'ai pas compris ce que c'était à par que ca attend la réponse du
serveur pour continuer. Peut etre est-ce cela qui manque dans mes
autres envois de commande au serveur mais si je les met ca attend
indéfiniement.

Merci






Avatar
ng
Salut,

C'est exactement pareil que le SMTP (le principe), il faut juste changer les
commandes, cf la RFC adéquat.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

cThy a écrit :

Oui mais c'est du smtp alors que moi c'est du pop que je veux faire
et je n'arrive pas a enchainer les commandes, seule la première
marche.

"François Picalausa" a écrit dans le message de
news:%239%
Bonjour/soir,

L'exemple de la faq ne nécessite aucune intervention de
l'utilisateur! On attend pas une intervention de l'utilisateur,
juste l'arrivée de données (l'intervention du serveur).

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"cThy" a écrit dans le message de
news:e8Y4$
Le probleme des exemple que je trouve c'est que tous passent par une
interface utilisateur et qui attend donc une intervention de
l'utilisateur entre chaque action. Hors dans mon cas je veux
effectuer ces traitements automatiquement.

"François Picalausa" a écrit dans le message
de news:%
Bonjour/soir,

En fait, il faut utiliser comme le dit ng le data arrival.
Tu as un exemple pour SMTP sur la faq:
http://faq.vb.free.fr?question=2

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"cThy" a écrit dans le message de
news:%
Bonjour,

J'ai réussi a me connecté au serveur pop3 avec Winsock :

Dim strData As String

ControlWinsock.RemoteHost = 10.0.0.1
ControlWinsock.RemotePort = 110

' Fermeture si déjà ouvert
If ControlWinsock.State <> sckClosed Then ControlWinsock.Close

' Connexion
ControlWinsock.Connect
While ControlWinsock.State <> sckConnected
DoEvents
Wend

' Affichage du message de bienvenue
ControlWinsock.GetData strData, vbString
MsgBox (strData)

Le MsgBox affiche bien la première ligne renvoyée par le serveur
mais apres mes autres demandes ont l'air de bien se passer mais je
n'arrive pas a voir les autres messages serveur.

ControlWinsock.SendData "USER username" & vbCrLf
ControlWinsock.GetData strData, vbString
MsgBox (strData)

ControlWinsock.SendData "PASS password" & vbCrLf
ControlWinsock.GetData strData, vbString
MsgBox (strData)

Vous voyez pourquoi ?

Au fait j'ai récupéré sur le Net la boucle qui appel DoEvents mais
je n'ai pas compris ce que c'était à par que ca attend la réponse
du serveur pour continuer. Peut etre est-ce cela qui manque dans
mes autres envois de commande au serveur mais si je les met ca
attend indéfiniement.

Merci