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

Comment s'identifier avec winsock...

16 réponses
Avatar
Christian
Bonjour,

J'ai un programme qui tournait très bien jusqu'à présent. Depuis le
changement de fournisseur le prog ne marche plus.

Le prog permettait d'envoyer des mails via Winsock en se connectant au smtp
du fournisseur. Hors, ce fournisseur, ne me permet plus de le faire. Lorsque
je me connecte en telnet sur son SMTP, je n'ai pas de connexion
possible.Pourtant Outlook, lui, se permet d'envoyer les mails sur ce même
serveur. Comment fait il ?

D'autant que je ne vois pas de méthodes pour se faire reconnaître à partir
de winsock... Et comme je parviens pas jusqu'au Ehlo...

Quelqu'un a une idée.

Christian.

10 réponses

1 2
Avatar
Christian
Je modifie quelque peu, mon post en précisant que ce n'est que lors de le
passage de la commande rcpt to que le relai m'a été refusé par smtp. Ce qui
confirme qu'il s'agit bien d'un problème d'identification.

Christian.



"Christian" a écrit dans le message de news:
466d3039$0$6323$
Bonjour,

J'ai un programme qui tournait très bien jusqu'à présent. Depuis le
changement de fournisseur le prog ne marche plus.

Le prog permettait d'envoyer des mails via Winsock en se connectant au


smtp
du fournisseur. Hors, ce fournisseur, ne me permet plus de le faire.


Lorsque
je me connecte en telnet sur son SMTP, je n'ai pas de connexion
possible.Pourtant Outlook, lui, se permet d'envoyer les mails sur ce même
serveur. Comment fait il ?

D'autant que je ne vois pas de méthodes pour se faire reconnaître à partir
de winsock... Et comme je parviens pas jusqu'au Ehlo...

Quelqu'un a une idée.

Christian.




Avatar
tking
Christian avait écrit le 11/06/2007 :
Je modifie quelque peu, mon post en précisant que ce n'est que lors de le
passage de la commande rcpt to que le relai m'a été refusé par smtp. Ce qui
confirme qu'il s'agit bien d'un problème d'identification.

Christian.



Si ça peut aider:


http://www.developerfusion.co.uk/show/2453/
Avatar
Fred
Dans : news:466d3039$0$6323$,
Christian disait :
Bonjour,



Bonjour,

J'ai un programme qui tournait très bien jusqu'à présent. Depuis le
changement de fournisseur le prog ne marche plus.

Le prog permettait d'envoyer des mails via Winsock en se connectant
au smtp du fournisseur. Hors, ce fournisseur, ne me permet plus de le
faire. Lorsque je me connecte en telnet sur son SMTP, je n'ai pas de
connexion possible.Pourtant Outlook, lui, se permet d'envoyer les
mails sur ce même serveur. Comment fait il ?



Les paramétrages du programme et de Outlook sont les mêmes ?
smtp
port
authentification
Le programme et Outlook utilisent bien la même connexion ?

Chez free, il y a un blocage par défaut des SMTPs sortants (voir la
console de gestion du compte sur le site).


--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Avatar
Christian
"Fred" a écrit dans le message de news:
#
Dans : news:466d3039$0$6323$,
Christian disait :
> Bonjour,

Bonjour,

> J'ai un programme qui tournait très bien jusqu'à présent. Depuis le
> changement de fournisseur le prog ne marche plus.
>
> Le prog permettait d'envoyer des mails via Winsock en se connectant
> au smtp du fournisseur. Hors, ce fournisseur, ne me permet plus de le
> faire. Lorsque je me connecte en telnet sur son SMTP, je n'ai pas de
> connexion possible.Pourtant Outlook, lui, se permet d'envoyer les
> mails sur ce même serveur. Comment fait il ?



Merci pour les réponses.


Les paramétrages du programme et de Outlook sont les mêmes ?
smtp
port
authentification
Le programme et Outlook utilisent bien la même connexion ?





Tout est identique entre l'un et l'autre : port, smtp, mot de passe et login

Chez free, il y a un blocage par défaut des SMTPs sortants (voir la
console de gestion du compte sur le site).





Oui, ce soucis est réglé depuis longtemps.

Quant au lien de tking, malheureusement cela ne m'apporte pas grand chose.
Surtout, parce que je n'y est pas compris grand chose.

Entre temps, je suis parti sur une piste en lisant les caractéristique de
fonctionnement Postfix puisqu'il s'agit d'identification et rien d'autre.
Lorsque le serveur SMTP est contrôlé par SASL text plain, il est possible de
se faire connaître par la commande AUTH est le code (utilisateur mot de
passe ) en base 64. Seulement, celui sur lequel je me trouve et en auxprop
et MD5-CRAM. Là, je ne trouve rien pour réaliser la même moulinette
qu'expliqué précédemment.

Christian
Avatar
Fred
Dans : news:466e6309$0$17914$,
Christian disait :

Tout est identique entre l'un et l'autre : port, smtp, mot de passe
et login



Il n'était pas très clair dans ton post que tu avais déjà programmé une
authentification.
Donc, si j'ai bien compris, le problème est lié au changement de mode
d'authentification ?

En MD5 CRAM, il faut envoyer un hash du password généré avec une chaîne
renvoyée par le serveur.
Vois ici :
http://en.wikipedia.org/wiki/CRAM-MD5

J'espère que cela te permettra d'avancer.


--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Avatar
Christian
"Fred" a écrit dans le message de news:

Dans : news:466e6309$0$17914$,
Christian disait :

> Tout est identique entre l'un et l'autre : port, smtp, mot de passe
> et login



Il n'était pas très clair dans ton post que tu avais déjà programmé une
authentification.




Désolé.

Donc, si j'ai bien compris, le problème est lié au changement de mode
d'authentification ?




Oui, c'est cela.

En MD5 CRAM, il faut envoyer un hash du password généré avec une chaîne
renvoyée par le serveur.
Vois ici :
http://en.wikipedia.org/wiki/CRAM-MD5

J'espère que cela te permettra d'avancer.



Oui

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)




J'ai fait plusieurs tentative qui se sont toutes soldées par un échec. Ce
qui fait que j'ai dû ne pas bien comprendre.

toutes les tentatives se résument à celle ci-dessous (seules les
combinaisons des hashs changent :

hash login motDePasse => AUTH DIGEST-MD5 resultatDuHash => 334 et me
retourne une chaîne => hash Login ou hash compte mail ou mot de passe ou
hash de la réponse du serveur.

Christian.
Avatar
Fred
Dans : news:466eb69b$0$27701$,
Christian écrivait :

hash login motDePasse => AUTH DIGEST-MD5 resultatDuHash => 334 et me
retourne une chaîne => hash Login ou hash compte mail ou mot de passe
ou hash de la réponse du serveur.




Je ne saisis pas bien ton formalisme.
Normalement, après la commande EHLO, le serveur doit te renvoyer une
liste des méthodes d'authentification supportées, du style :

AUTH CRAM-MD5 DIGEST-MD5

Qu'en est-il ? Tu mentionnais CRAM-MD5 et maintenant DIGEST-MD5

Tu fais un choix (CRAM-MD5 me semble plus simple que DIGEST-MD5 d'après
ce que j'ai pu trouver)

AUTH CRAM-MD5

En réponse, le serveur doit renvoyer le code 334, puis, une chaîne
encodée en base64 (une chaîne de caractères aléatoire et le nom du
serveur à priori)

Jusque là, ça donne quoi ?

Ensuite il faut calculer un hash en utilisant le mot de passe comme clé
et la réponse du serveur comme message. Le résultat sera concaténé après
le nom d'utilisateur et un espace, avant d'être renvoyé au serveur.

Pour le calcul du hash, voir ici :
http://www.ietf.org/rfc/rfc2104.txt (pas trouvé en français)
et là :
http://abcdrfc.free.fr/rfc-vf/rfc1321.html

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Avatar
Fred
Dans : news:%23LK%,
Fred disait :

Pour le calcul du hash, voir ici :
http://www.ietf.org/rfc/rfc2104.txt (pas trouvé en français)
et là :
http://abcdrfc.free.fr/rfc-vf/rfc1321.html



Oups, désolé, j'en avais oublié les APIs.
Un exemple de code ici :
http://www.codetoad.com/vb_crypto_api.asp

Je n'ai pas testé mais il y de quoi calculer un hash en md5.
Il faudra peut-être programmer la fonction HMAC.


--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Avatar
Christian
"Fred" a écrit dans le message de news:

Dans : news:%23LK%,
Fred disait :
>
> Pour le calcul du hash, voir ici :
> http://www.ietf.org/rfc/rfc2104.txt (pas trouvé en français)
> et là :
> http://abcdrfc.free.fr/rfc-vf/rfc1321.html

Oups, désolé, j'en avais oublié les APIs.
Un exemple de code ici :
http://www.codetoad.com/vb_crypto_api.asp

Je n'ai pas testé mais il y de quoi calculer un hash en md5.
Il faudra peut-être programmer la fonction HMAC.


--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)




Merci pour la patience !

En fait, la réponse du serveur est
[... ]
250-STARTTLS
250-AUTH DIGEST-MD5 CRAM-MD5
250-AUTH=DIGEST-MD5 CRAM-MD5
[...]
J'ai essayé de faire quelque chose avec CRAM mais comme j'avais directement
une réponse en erreur, je me suis orienté vers DIGEST puisque quelque chose
était répondu.

En tous les cas je vais essayer selon la méthode expliqué dans le post
précédent. Je te tiens au courant.

Christian.
Avatar
Christian
"Fred" a écrit dans le message de news:
#LK#
Dans : news:466eb69b$0$27701$,
Christian écrivait :

> hash login motDePasse => AUTH DIGEST-MD5 resultatDuHash => 334 et me
> retourne une chaîne => hash Login ou hash compte mail ou mot de passe
> ou hash de la réponse du serveur.


Je ne saisis pas bien ton formalisme.
Normalement, après la commande EHLO, le serveur doit te renvoyer une
liste des méthodes d'authentification supportées, du style :

AUTH CRAM-MD5 DIGEST-MD5

Qu'en est-il ? Tu mentionnais CRAM-MD5 et maintenant DIGEST-MD5

Tu fais un choix (CRAM-MD5 me semble plus simple que DIGEST-MD5 d'après
ce que j'ai pu trouver)

AUTH CRAM-MD5

En réponse, le serveur doit renvoyer le code 334, puis, une chaîne
encodée en base64 (une chaîne de caractères aléatoire et le nom du
serveur à priori)
Jusque là, ça donne quoi ?




J'ai effectivement, une réponse 334 suivi d'une chaîne encodée


Ensuite il faut calculer un hash en utilisant le mot de passe comme clé
et la réponse du serveur comme message. Le résultat sera concaténé après
le nom d'utilisateur et un espace, avant d'être renvoyé au serveur.





Là, ça ne marche plus.
1-Je hash mon mot de passe
2-Je hash (le hash du mot de passe + la chaîne réponse du serveur). Avec ou
sans espace, le hash MDP est soit avant, soit après.
3-J'ecris le nom utilisateur (en clair) + espace + hash obtenu en 2.

= 535 Error: authentication failed: bad protocol / cancel


Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)




Je continus de faire des testes changeant la position du message smtp et la
clé avec ou sans espace...

Christian.
1 2