PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Les adresses mail du poste utilisateur
Les adresses mail du poste utilisateur
Débuté par andre.melin, 29 jan. 2006 20:03 - 3 réponses
Posté le 29 janvier 2006 - 20:03
Beaucoup cherchent à connaître les adresses mails de l'utilisateur. Or celui-ci peut en avoir plusieurs. Et avoir Outlook et/ou Outlook express. Je me sui rendu compte même que REQUEST de windev 10 (logiciel qui nous permet de communiquer avec pcsoft pour y signaler des erreurs avait été chercher des smtp et mails tout faux. En fait, Si outlook express signale une adresse par défaut, ceci ne veut rien dire, car l'utilisateur peut très bine avoir une adresse mail principal ou d'autres qui sont dans Outlook. Question: qu'elle est celle par défaut ? Entre celles de Outlook de Office et celle de Outlook Express ? Je n'ai pas encore trouver la réponse. Mais voici en tous les cas comment obtenir toutes les adresses de l'utilisateur:
Cette proc renvoie une string séparée par des TAB comme défini dans les commentaires.
Cela permet au moins de demander à l'utilisateur laquelle il faut utiliser en les lui affichant dans une table.

Mais si quelqu'un sait comment dire Qui des deux est le logiciel principal et qui des adresses pop smtp port est la principale, ce serait sympa de me le dire alors je corrigerai ma proc en conséquence et la donnerai pour tout le monde ?


PROCEDURE gpInfoMail()
//Renvoie les données mail du current user local ou une chaine vide
//Les adresses sont pour Outlook et/ou pour Outlook express
//Valeur renvoyée:
//'Type chaine'+TAB+Adresse+TAB+SMTP+TAB+Port+TAB+...définitionsuivante
//ou Type chaine devient: 'Express' pour outlook express ou 'Outlook' pour Office Outlook


Adr_Exp, Serveur_SMTP, sResult, sRetour, laChaine sont des chaînes
SMTP_Port est un entier
Ii est un entier
LeCar est un caractère

//Outlook
laChaine=RegistreCherche("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook","Email")
SI laChaine<>"" ALORS sResult=ExtraitChaîne(laChaine,1,TAB)+"\"+ExtraitChaîne(laChaine,2,TAB)
TANTQUE PAS sResult=""
laChaine=RegistreCherche(sResult,"Email")
SI laChaine<>"" ALORS
lesmtp est une chaîne=RegistreLit(sResult,"SMTP Server")
lAdr_Exp est une chaîne=RegistreLit(sResult,"Email")
SMTP_Port=Val(RegistreLit(sResult,"SMTP Port"))
SI SMTP_Port=0 ALORS SMTP_Port%
Adr_Exp=""
Serveur_SMTP=""
POUR Ii=1 A Taille(lesmtp)
LeCar=Milieu(lesmtp,Ii,1)
SI Asc(LeCar)<>0 ALORS
Serveur_SMTP+=LeCar
FIN
FIN
POUR Ii=1 A Taille(lAdr_Exp)
LeCar=Milieu(lAdr_Exp,Ii,1)
SI Asc(LeCar)<>0 ALORS
Adr_Exp+=LeCar
FIN
FIN
sRetour+="Outlook"+TAB+Adr_Exp+TAB+Serveur_SMTP+TAB+SMTP_Port+TAB
FIN
//Lire la clé suivante
sResult=RegistreCléSuivante(sResult)
FIN
//Outlook express
laChaine=RegistreCherche("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts","SMTP Email Address")
SI laChaine<>"" ALORS sResult=ExtraitChaîne(laChaine,1,TAB)+"\"+ExtraitChaîne(laChaine,2,TAB)
TANTQUE PAS sResult=""
laChaine=RegistreCherche(sResult,"SMTP Email Address")
SI laChaine<>"" ALORS
Serveur_SMTP = RegistreLit(sResult,"SMTP Server")
Adr_Exp = RegistreLit(sResult,"SMTP Email Address")
SMTP_Port=Val(RegistreLit(sResult,"SMTP Port"))
SI SMTP_Port=0 ALORS SMTP_Port%
sRetour+="Express"+TAB+Adr_Exp+TAB+Serveur_SMTP+TAB+SMTP_Port+TAB
FIN
//Lire la clé suivante
sResult=RegistreCléSuivante(sResult)
FIN

RENVOYER sRetour
Posté le 30 janvier 2006 - 06:53
Salut,

je crois que le chemin de l'application principale pour les courriel est
enregistrée sous la valeur défaut de cette clé:
HKEY_CLASSES_ROOT\mailto\shell\open\command

Mathieu
Posté le 01 février 2006 - 14:46
Effectivement, maintenant reste à chercher comment Outlook définit celle par défaut.
Merci
Posté le 01 février 2006 - 15:21
--- En effet "RequetesAuST" va chercher chez moi une adresse sur serveur
authentifié, (elle commence par "a" donc en tete de liste) et ça plante
l'envoi !

"Melin" <andre.melin@skynet.be> a écrit dans le message de news:
43dcf0cc$1@news.pcsoft.fr...
Beaucoup cherchent à connaître les adresses mails de l'utilisateur. Or
celui-ci peut en avoir plusieurs. Et avoir Outlook et/ou Outlook express.
Je me sui rendu compte même que REQUEST de windev 10 (logiciel qui nous
permet de communiquer avec pcsoft pour y signaler des erreurs avait été
chercher des smtp et mails tout faux. En fait, Si outlook express signale
une adresse par défaut, ceci ne veut rien dire, car l'utilisateur peut
très bine avoir une adresse mail principal ou d'autres qui sont dans
Outlook. Question: qu'elle est celle par défaut ? Entre celles de Outlook
de Office et celle de Outlook Express ? Je n'ai pas encore trouver la
réponse. Mais voici en tous les cas comment obtenir toutes les adresses de
l'utilisateur:
Cette proc renvoie une string séparée par des TAB comme défini dans les
commentaires.
Cela permet au moins de demander à l'utilisateur laquelle il faut utiliser
en les lui affichant dans une table.

Mais si quelqu'un sait comment dire Qui des deux est le logiciel principal
et qui des adresses pop smtp port est la principale, ce serait sympa de me
le dire alors je corrigerai ma proc en conséquence et la donnerai pour
tout le monde ?


PROCEDURE gpInfoMail()
//Renvoie les données mail du current user local ou une chaine vide
//Les adresses sont pour Outlook et/ou pour Outlook express
//Valeur renvoyée:
//'Type chaine'+TAB+Adresse+TAB+SMTP+TAB+Port+TAB+...définitionsuivante
//ou Type chaine devient: 'Express' pour outlook express ou 'Outlook' pour
Office Outlook


Adr_Exp, Serveur_SMTP, sResult, sRetour, laChaine sont des chaînes
SMTP_Port est un entier
Ii est un entier
LeCar est un caractère

//Outlook
laChaine=RegistreCherche("HKEY_CURRENT_USER\Software\Microsoft\Windows
NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook","Email")
SI laChaine<>"" ALORS
sResult=ExtraitChaîne(laChaine,1,TAB)+"\"+ExtraitChaîne(laChaine,2,TAB)
TANTQUE PAS sResult=""
laChaine=RegistreCherche(sResult,"Email")
SI laChaine<>"" ALORS
lesmtp est une chaîne=RegistreLit(sResult,"SMTP Server")
lAdr_Exp est une chaîne=RegistreLit(sResult,"Email")
SMTP_Port=Val(RegistreLit(sResult,"SMTP Port"))
SI SMTP_Port=0 ALORS SMTP_Port%
Adr_Exp=""
Serveur_SMTP=""
POUR Ii=1 A Taille(lesmtp)
LeCar=Milieu(lesmtp,Ii,1)
SI Asc(LeCar)<>0 ALORS
Serveur_SMTP+=LeCar
FIN
FIN
POUR Ii=1 A Taille(lAdr_Exp)
LeCar=Milieu(lAdr_Exp,Ii,1)
SI Asc(LeCar)<>0 ALORS
Adr_Exp+=LeCar
FIN
FIN
sRetour+="Outlook"+TAB+Adr_Exp+TAB+Serveur_SMTP+TAB+SMTP_Port+TAB
FIN
//Lire la clé suivante
sResult=RegistreCléSuivante(sResult)
FIN
//Outlook express
laChaine=RegistreCherche("HKEY_CURRENT_USER\Software\Microsoft\Internet
Account Manager\Accounts","SMTP Email Address")
SI laChaine<>"" ALORS
sResult=ExtraitChaîne(laChaine,1,TAB)+"\"+ExtraitChaîne(laChaine,2,TAB)
TANTQUE PAS sResult=""
laChaine=RegistreCherche(sResult,"SMTP Email Address")
SI laChaine<>"" ALORS
Serveur_SMTP = RegistreLit(sResult,"SMTP Server")
Adr_Exp = RegistreLit(sResult,"SMTP Email Address")
SMTP_Port=Val(RegistreLit(sResult,"SMTP Port"))
SI SMTP_Port=0 ALORS SMTP_Port%
sRetour+="Express"+TAB+Adr_Exp+TAB+Serveur_SMTP+TAB+SMTP_Port+TAB
FIN
//Lire la clé suivante
sResult=RegistreCléSuivante(sResult)
FIN

RENVOYER sRetour