OVH Cloud OVH Cloud

e-mail avec Winsock

10 réponses
Avatar
Joël
bonjour a tous,
je souhaiterais envoyer un e-mail avec Winsock, j'ai trouver des codes
interresant pour cela sur vbfrance mais l'utilisateur doit renseigner le
serveur SMTP, qui je pense ne doit pas toujours le connaitre moi etant chez
orange(smtp.orange.fr) mais donc doit changer selon le fournisseur d'acces
existe t'il un moyen par vb de connaitre automatiquement ce serveur, pour
que l'utilisateur n'est plut a renseigner ce champ.

Merci d'avance.

10 réponses

Avatar
Christian Hugoud
Je ne pense pas.

"Joël" a écrit dans le message de news:
45c87e66$0$25945$
bonjour a tous,
je souhaiterais envoyer un e-mail avec Winsock, j'ai trouver des codes
interresant pour cela sur vbfrance mais l'utilisateur doit renseigner le
serveur SMTP, qui je pense ne doit pas toujours le connaitre moi etant
chez orange(smtp.orange.fr) mais donc doit changer selon le fournisseur
d'acces existe t'il un moyen par vb de connaitre automatiquement ce
serveur, pour que l'utilisateur n'est plut a renseigner ce champ.

Merci d'avance.



Avatar
Jean-marc
Joël wrote:
bonjour a tous,
je souhaiterais envoyer un e-mail avec Winsock, j'ai trouver des codes
interresant pour cela sur vbfrance mais l'utilisateur doit renseigner
le serveur SMTP, qui je pense ne doit pas toujours le connaitre moi
etant chez orange(smtp.orange.fr) mais donc doit changer selon le
fournisseur d'acces existe t'il un moyen par vb de connaitre
automatiquement ce serveur, pour que l'utilisateur n'est plut a
renseigner ce champ.
Merci d'avance.



Hello,

Si il n'y a pas eu de compte de messagerie installée sur la machine,
ça va être difficile (mais pas impossible).

Si il y au moins un compte de messagerie installé (et
correctement configuré) alors :

- si il s'agit d'Outlook Express :
http://vbnet.mvps.org/index.html?code/reg/regaccounts.htm
- si il s'agit d'Outlook :
http://vbnet.mvps.org/code/reg/regoutlookaccounts.htm

Si tu ne sais pas lire une clé de registre :
http://faq.vb.free.fr/index.php?rubrique=7

Si il n'y a rien eu d'insallé sur la machine, une solution est
d'utiliser NSLOOKUP.

Le principe est décrit ici:
http://www.exclamationsoft.com/exclamationsoft/netmailbot/help/website/HowToFindTheSMTPMailServerForAnEmailAddress.html

Cela suppose que l'utilisateur sait quand même comment s'appelle
son provider, en fait il suffit de conanitre le domaine.

Il ne te reste plus qu'à créer un petit fichier batch
(ton programme doit le fabriquer en fonction du nom de domaine)
puis le lancer avec ShellExecute, en ayant pris soin de rediriger la sortie
de nslookup dans un fichier.
Puis tu ouvres ce fichier, tu parses, et tu retrouves le MX avec la plus
grande
MX préférence. et voila :-)

C'est quand même assez laborieux, j'en conviens, mais ça marche ...

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
Joël
merci pour la reponse, mais que faire faire ? je ne sais pas si
l'utilisateur aura configurer Outlook Express qui je pense est installer
d'origine avec xp.
je pense faire comme tu le dit lire la cle dans la base de registre suivant:
http://vbnet.mvps.org/index.html?code/reg/regaccounts.htm
j'ai tester le code qui es sur cette page et qui fonctionne parfaitement ou
j'y retrouve donc les infos pour SMTP serveur,ect...
maintenant que se passe t'il si ce n'est pas configurer (chaine vide, pas de
clé ?) car bien sur chez moi il trouve tout, outlook est configurer.
Et au cas si se n'est pas configurer demander a l'utilisateur de remplir le
champ serveur, car la solution NSLOOKUP me parait un peu trop complexe pour
moi.
Enfin faut que je teste toutes les posibilitées que tu m'a indiquer pour y
voir un peu plus clair et les comprendre afin de les optimiser pour se que
je veut faire.

encore merci...


"Jean-marc" a écrit dans le message
de news: eqamad$rh6$
Joël wrote:
bonjour a tous,
je souhaiterais envoyer un e-mail avec Winsock, j'ai trouver des codes
interresant pour cela sur vbfrance mais l'utilisateur doit renseigner
le serveur SMTP, qui je pense ne doit pas toujours le connaitre moi
etant chez orange(smtp.orange.fr) mais donc doit changer selon le
fournisseur d'acces existe t'il un moyen par vb de connaitre
automatiquement ce serveur, pour que l'utilisateur n'est plut a
renseigner ce champ.
Merci d'avance.



Hello,

Si il n'y a pas eu de compte de messagerie installée sur la machine,
ça va être difficile (mais pas impossible).

Si il y au moins un compte de messagerie installé (et
correctement configuré) alors :

- si il s'agit d'Outlook Express :
http://vbnet.mvps.org/index.html?code/reg/regaccounts.htm
- si il s'agit d'Outlook :
http://vbnet.mvps.org/code/reg/regoutlookaccounts.htm

Si tu ne sais pas lire une clé de registre :
http://faq.vb.free.fr/index.php?rubrique=7

Si il n'y a rien eu d'insallé sur la machine, une solution est
d'utiliser NSLOOKUP.

Le principe est décrit ici:
http://www.exclamationsoft.com/exclamationsoft/netmailbot/help/website/HowToFindTheSMTPMailServerForAnEmailAddress.html

Cela suppose que l'utilisateur sait quand même comment s'appelle
son provider, en fait il suffit de conanitre le domaine.

Il ne te reste plus qu'à créer un petit fichier batch
(ton programme doit le fabriquer en fonction du nom de domaine)
puis le lancer avec ShellExecute, en ayant pris soin de rediriger la
sortie
de nslookup dans un fichier.
Puis tu ouvres ce fichier, tu parses, et tu retrouves le MX avec la plus
grande
MX préférence. et voila :-)

C'est quand même assez laborieux, j'en conviens, mais ça marche ...

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/




Avatar
Jean-marc
Joël wrote:

Hello,

merci pour la reponse, mais que faire faire ? je ne sais pas si
l'utilisateur aura configurer Outlook Express qui je pense est
installer d'origine avec xp.



Ce qui ne veut d'ailleurs pas dire qu'il aura été configuré!

je pense faire comme tu le dit lire la cle dans la base de registre
suivant: http://vbnet.mvps.org/index.html?code/reg/regaccounts.htm
j'ai tester le code qui es sur cette page et qui fonctionne
parfaitement ou j'y retrouve donc les infos pour SMTP serveur,ect...
maintenant que se passe t'il si ce n'est pas configurer (chaine vide,
pas de clé ?) car bien sur chez moi il trouve tout, outlook est
configurer. Et au cas si se n'est pas configurer demander a l'utilisateur
de
remplir le champ serveur, car la solution NSLOOKUP me parait un peu
trop complexe pour moi.



De fait elle est un peu complexe à mettre en oeuvre

Enfin faut que je teste toutes les posibilitées que tu m'a indiquer
pour y voir un peu plus clair et les comprendre afin de les optimiser
pour se que je veut faire.



Bon je pense qu'une idée serait ceci:
- Ton logiciel cherche d'abord le serveur SMTP avec Outlook Express
- Si rien de trouvé, on essaie Outlook
- Si rien de trouvé, on essaie d'autres clients de messagerie
(tu peux essayer les classiques)
- Si toujours rien trouvé, tu peux faire un Wizzard qui dit
à l'utilisateur:

"Je ne trouve pas de clients mails et je ne parviens à trouver
quel est votre serveur SMTP. Connaissez vous votre serveur SMTP?
(Celui ci devrait indiqué sur le courrier d'abonnnement de votre FAI"
[OUI] [NON]
Si OUI, tu proposes une fenêtre de saisie et le tour est joué.
Si NON, voici un truc que tu peux faire:
renseigne toi pour connaitre les serveurs SMTP des providers les plus
connus: en france: orange, noos, etc. En belgique, skynet, etc .
Fais toi une liste:
PROVIDER|SMTP que tu mets dans un petit fichier de config que tu liras au
démarrage de ton Appli.

Puis tu proposes à l'utilisateur (dans le cas ou il a répondu NON à
la question précédente):
"Si vous le pouvez, sélectionnez votre FAI dans cette liste:
[Et la tu proposes une combo avec les différents FAI]

Si l'utilisateur en choisi un qui est dans la liste, c'est gagné!

Si non, et bien on ne peut vraiment rien faire, mais ça me
semble impossible: Tout le monde connait quand même son FAI, ou sait
au moins l'identifier parmi une liste.

Après tout ça, tu peux vérifier que les infos données sont correctes
en essayant d'envoyer un mail en te servant du serveur SMTP
donné, ou simplement en essayant d'ouvrir une simple
connection sur le nom de serveur SMTP indiqué, sur le port 25.

Avec tout ça, ça devrait le faire, j'espère :-)


--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
Jean-marc
Jean-marc wrote:

Si NON, voici un truc que tu peux faire:
renseigne toi pour connaitre les serveurs SMTP des providers les plus
connus: en france: orange, noos, etc. En belgique, skynet, etc .
Fais toi une liste:
PROVIDER|SMTP que tu mets dans un petit fichier de config que tu
liras au démarrage de ton Appli.



Et à ce propos, j'ai trouvé ceci: une longue liste de serveur SMTP
pour les providers les plus connus (il y a une sacrée liste!):
http://www.commentcamarche.net/faq/sujet-893-messagerie-adresses-serveurs-pop-et-smtp-des-fai

Avec ça, à mon avis, tu es sauvé!

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
Joël
bonsoir Jean-marc,
oui c'est se que je pensait au debut faire une liste avec les principaux
fournisseur et que l'utilisateur sélectionne le bon.
j'avait laisser tomber vu le nombre de fournisseurs mais je vais essaye de
trouver les plus connus pour creer une liste.
donc je te remercie pour ta tres bonne idée et j'ai deja essayez de verifier
entre outlook express ou outlook et de selectionnez l'un ou l'autre apres
avoir lu la cle genre:
lblMessagerie.Caption = GetDefaultMailClient()
If lblMessagerie.Caption = "Outlook" Then
ProcedureOutlook
ElseIf lblMessagerie.Caption = "Outlook Express" Then
ProcedureExpress
else
ProcedureDemande ' liste puis demande
End If
sinon apres je pensais passer a la demande du serveur par l'utilisateur mais
creer une liste est bien mieux et s'il n'est pas dans la liste alors la
demander.
enfin tes infos me seront d'une grande utilité et je vais suivre tes
conseils.

autre chose par contre je possede les 2 outlook et avais simplement
configurer l'express(je ne me sert que de celui-ci)
et en lisant les clé de l'un ou de l'autre je me suis apercu que les 2 avait
la configue faites
j'ai donc lancer outlook et la il me demande de creer un compte j'ai valider
par suivant et toutes les données etait deja rempli ?
il suffisait simplement de valider terminer.
bon mais enfin je pense qu' il vaut mieux faire la selection entre les 2 au
cas ou outlook ne serait pas installer.

bon comme tu dit avec tout ça, ça va le faire


"Jean-marc" a écrit dans le message
de news: eqd5v2$skl$
Joël wrote:

Hello,

merci pour la reponse, mais que faire faire ? je ne sais pas si
l'utilisateur aura configurer Outlook Express qui je pense est
installer d'origine avec xp.



Ce qui ne veut d'ailleurs pas dire qu'il aura été configuré!

je pense faire comme tu le dit lire la cle dans la base de registre
suivant: http://vbnet.mvps.org/index.html?code/reg/regaccounts.htm
j'ai tester le code qui es sur cette page et qui fonctionne
parfaitement ou j'y retrouve donc les infos pour SMTP serveur,ect...
maintenant que se passe t'il si ce n'est pas configurer (chaine vide,
pas de clé ?) car bien sur chez moi il trouve tout, outlook est
configurer. Et au cas si se n'est pas configurer demander a l'utilisateur
de
remplir le champ serveur, car la solution NSLOOKUP me parait un peu
trop complexe pour moi.



De fait elle est un peu complexe à mettre en oeuvre

Enfin faut que je teste toutes les posibilitées que tu m'a indiquer
pour y voir un peu plus clair et les comprendre afin de les optimiser
pour se que je veut faire.



Bon je pense qu'une idée serait ceci:
- Ton logiciel cherche d'abord le serveur SMTP avec Outlook Express
- Si rien de trouvé, on essaie Outlook
- Si rien de trouvé, on essaie d'autres clients de messagerie
(tu peux essayer les classiques)
- Si toujours rien trouvé, tu peux faire un Wizzard qui dit
à l'utilisateur:

"Je ne trouve pas de clients mails et je ne parviens à trouver
quel est votre serveur SMTP. Connaissez vous votre serveur SMTP?
(Celui ci devrait indiqué sur le courrier d'abonnnement de votre FAI"
[OUI] [NON]
Si OUI, tu proposes une fenêtre de saisie et le tour est joué.
Si NON, voici un truc que tu peux faire:
renseigne toi pour connaitre les serveurs SMTP des providers les plus
connus: en france: orange, noos, etc. En belgique, skynet, etc .
Fais toi une liste:
PROVIDER|SMTP que tu mets dans un petit fichier de config que tu liras au
démarrage de ton Appli.

Puis tu proposes à l'utilisateur (dans le cas ou il a répondu NON à
la question précédente):
"Si vous le pouvez, sélectionnez votre FAI dans cette liste:
[Et la tu proposes une combo avec les différents FAI]

Si l'utilisateur en choisi un qui est dans la liste, c'est gagné!

Si non, et bien on ne peut vraiment rien faire, mais ça me
semble impossible: Tout le monde connait quand même son FAI, ou sait
au moins l'identifier parmi une liste.

Après tout ça, tu peux vérifier que les infos données sont correctes
en essayant d'envoyer un mail en te servant du serveur SMTP
donné, ou simplement en essayant d'ouvrir une simple
connection sur le nom de serveur SMTP indiqué, sur le port 25.

Avec tout ça, ça devrait le faire, j'espère :-)


--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/





Avatar
Joël
alors la chapeau, trop cool cette liste avec sa c'est comme si c'etait fais.
merci encore...

"Jean-marc" a écrit dans le message
de news: eqd91i$4bn$
Jean-marc wrote:

Si NON, voici un truc que tu peux faire:
renseigne toi pour connaitre les serveurs SMTP des providers les plus
connus: en france: orange, noos, etc. En belgique, skynet, etc .
Fais toi une liste:
PROVIDER|SMTP que tu mets dans un petit fichier de config que tu
liras au démarrage de ton Appli.



Et à ce propos, j'ai trouvé ceci: une longue liste de serveur SMTP
pour les providers les plus connus (il y a une sacrée liste!):
http://www.commentcamarche.net/faq/sujet-893-messagerie-adresses-serveurs-pop-et-smtp-des-fai

Avec ça, à mon avis, tu es sauvé!

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/




Avatar
Jean-marc
Joël wrote:
alors la chapeau, trop cool cette liste avec sa c'est comme si
c'etait fais. merci encore...



Avec plaisir :-)

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
Joël
Bonjour Jean-marc,
j'ai fait une premiere ebauche du projet qui pour le moment a l'air de me
convenir.
il teste d'abord si la messagerie par defaut est outlook express ou outlook
et rempli automatiquement les champs, sinon ouvre la liste des fournisseurs
que j'ai créer grace a la liste que tu m'a indiquer. il y a ensuite
possibilite de sauvegarder dans un fichier les paramètres(cryptes).
je recupererais donc ce code pour l'incorporer dans le logiciel ou je veut
envoyez mon e-mail avec winsok.
si tu veut je peut envoyer le code pour voir se que tu en pense ou meme s'il
y a possibilité de l'optimiser ? car il est en parti realiser avec t'on
aide.

"Jean-marc" a écrit dans le message
de news: eqdghf$mrj$
Joël wrote:
alors la chapeau, trop cool cette liste avec sa c'est comme si
c'etait fais. merci encore...



Avec plaisir :-)

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/





Avatar
Jean-marc
Joël wrote:
Bonjour Jean-marc,
j'ai fait une premiere ebauche du projet qui pour le moment a l'air
de me convenir.
il teste d'abord si la messagerie par defaut est outlook express ou
outlook et rempli automatiquement les champs, sinon ouvre la liste
des fournisseurs que j'ai créer grace a la liste que tu m'a indiquer.
il y a ensuite possibilite de sauvegarder dans un fichier les
paramètres(cryptes). je recupererais donc ce code pour l'incorporer dans
le logiciel ou je
veut envoyez mon e-mail avec winsok.
si tu veut je peut envoyer le code pour voir se que tu en pense ou
meme s'il y a possibilité de l'optimiser ? car il est en parti
realiser avec t'on aide.



Hello,

Tu peux me l'envoyer si tu veux, je jetterais un oeil
dessus avec plaisir. Je t'envoie mon adresse email en privé.

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/