|
|
|
|
|
- Protocoles POP3 et SMTP
- SMTP authentifié
- Connexion avec double authentification
- Délai de timeout
- Fonctionnalité d'application requise
- Gmail : Que faire si une connexion à Gmail (SMTP, IMAP, POP3) échoue avec une erreur de certificat ?
EmailOuvreSession (Fonction) En anglais : EmailStartSession Ouvre une session de gestion des emails en fonction du mode de gestion choisi : - emails gérés par le protocole POP3, SMTP ou IMAP : la fonction EmailOuvreSession permet d'ouvrir la session POP3, SMTP ou IMAP.
Remarques : - Pour ouvrir une session de lecture des emails (protocole POP3 uniquement), utilisez la fonction EmailOuvreSessionPOP3.
- Pour ouvrir une session d'envoi des emails (protocole SMTP uniquement), utilisez la fonction EmailOuvreSessionSMTP. Cette fonction permet également d'ouvrir une session SMTP authentifiée.
SI EmailOuvreSession(USER, PASSWORD, "pop3.gmail.com", "smtp.gmail.com") = Vrai ALORS
NomUser = USER
SINON
NomUser = ""
Erreur("Impossible d'établir la connexion")
FIN
Syntaxe
Ouvrir une session d'emails (POP3, SMTP, IMAP, Notes ou Outlook) Masquer les détails
<Résultat> = EmailOuvreSession(<Session>)
<Résultat> : Booléen - Vrai si la session a été ouverte,
- Faux dans le cas contraire. En cas d'erreur, la variable ErreurDétectée est à Vrai.
Pour connaître le libellé de l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Session> : Variable de type emailSessionPOP3, emailSessionSMTP, emailSessionIMAP, emailSessionNotes ou emailSessionOutlook Nom de la variable contenant la description des paramètres de connexion au serveur de messagerie. Toutes les propriétés de la connexion sont spécifiées dans les propriétés de la variable. Pour plus de détails, consultez :- variable de type emailSessionPOP3 : pour ouvrir une session vers un serveur POP3 afin de lire les messages.
- variable de type emailSessionIMAP : pour ouvrir une session vers un serveur IMAP afin de lire les messages.
- variable de type emailSessionSMTP : pour ouvrir une session vers un serveur SMTP afin d'envoyer des messages.
| Remarque : Cette syntaxe est conservée pour compatibilité. Il est recommandé d'utiliser les variables de type emailSessionPOP3, emailSessionSMTP ou les fonctions EmailOuvreSessionPOP3 et EmailOuvreSessionSMTP.
Ouvrir une session d'emails utilisant les protocoles POP3 et SMTP simultanément Masquer les détails
<Résultat> = EmailOuvreSession(<Nom utilisateur> , <Mot de passe> , <Adresse serveur POP3> [, <Adresse serveur SMTP> [, <Numéro port POP3> [, <Numéro port SMTP> [, <Asynchrone>]]]])
<Résultat> : Booléen - Vrai si la session a été ouverte,
- Faux dans le cas contraire. En cas d'erreur, la variable ErreurDétectée est à Vrai. Pour connaître le libellé de l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Nom utilisateur> : Chaîne de caractères Identifie l'utilisateur. Ce nom est fourni par le fournisseur de services ou par l'administrateur réseau. Ce nom permettra d'identifier la session d'emails dans les différentes fonctions de gestion des emails. <Mot de passe> : Chaîne de caractères Mot de passe de l'utilisateur. Ce mot de passe est fourni par le fournisseur de services ou par l'administrateur réseau. <Adresse serveur POP3> : Chaîne de caractères Adresse IP du serveur d'emails (protocole entrant). Cette adresse IP est fournie par le fournisseur de services ou par l'administrateur réseau. Cette adresse IP peut être donnée sous la forme :- Adresse IP au format XXX.XXX.XXX.XXX ( par exemple, 125.5.110.100).
- Adresse IP contenant le nom du serveur (par exemple, pop3.freesbee.fr). Cette syntaxe est conseillée.
- Adresse IP obtenue par la fonction NetAdresseIP.
<Adresse serveur SMTP> : Chaîne de caractères optionnelle Adresse IP du serveur d'emails (protocole sortant). Cette adresse IP est fournie par le fournisseur de services ou par l'administrateur réseau. Cette adresse doit être précisée uniquement si le compte POP3 et le compte SMTP ne passent pas par le même poste. <Numéro port POP3> : Entier optionnel Identifie le port utilisé pour le protocole POP3 (110 par défaut). <Numéro port SMTP> : Entier optionnel Identifie le port utilisé pour le protocole SMTP (25 par défaut). <Asynchrone> : Constante ou booléen optionnel | | emailAsynchrone ou Vrai | Les emails envoyés lors de la session ouverte avec la fonction EmailOuvreSession doivent être transmis en mode asynchrone (voir les Notes). | emailSynchrone ou Faux (Valeur par défaut) | Les emails envoyés lors de la session ouverte avec la fonction EmailOuvreSession doivent être transmis en mode synchrone (voir les Notes). |
|
Remarques Protocoles POP3 et SMTP Les différents paramètres passés à la fonction EmailOuvreSession sont fournis par le fournisseur de services ou par l'administrateur réseau. Avant de pouvoir gérer les emails, il est nécessaire d'ouvrir une connexion Internet. Plusieurs cas peuvent se présenter : - L'utilisateur utilise une connexion à Internet directe (cable ou ADSL) : aucune opération spécifique ne doit être faite.
- L'utilisateur utilise un modem pour se connecter à Internet : la fonction NetOuvreAccèsDistant permet d'ouvrir la connexion à Internet.
Par défaut, si seule l'adresse IP du serveur POP3 est précisée, cette adresse sera utilisée par le serveur d'emails utilisant le protocole SMTP. Il est nécessaire de préciser l'adresse IP du protocole SMTP uniquement si le compte POP3 et le compte SMTP ne passent pas par le même poste. SMTP authentifié L'authentification SMTP ne peut pas être effectuée avec la fonction EmailOuvreSession. Pour ouvrir à la fois une session POP3 et une session SMTP authentifiée il est nécessaire d'utiliser les deux fonctions EmailOuvreSessionPOP3 et EmailOuvreSessionSMTP. Connexion avec double authentification De plus en plus de fournisseurs proposent l'utilisation de comptes email sécurisés (SMTP/IMAP) avec une double authentification. Le principe est le suivant : - Connexion de type OAuth vers le fournisseur de la boîte mail : cette connexion fournit un token.
- Utilisation du token qui devra être utilisé lors de la connexion aux boîtes IMAP ou SMTP.
Voici un exemple de code pouvant être utilisé :
OAuthCnxGoogle est un OAuth2Paramètres
gMaSessionIMAP est une emailSessionIMAP
gMaSessionIMAP.AdresseServeur = "imap.gmail.com"
gMaSessionIMAP.Option = optionTLS
gMaSessionIMAP.Port = "993"
OAuthCnxGoogle.ClientID = "ID de l'application"
OAuthCnxGoogle.ClientSecret = "ID secret de l’application"
OAuthCnxGoogle.URLAuth = "https://accounts.google.com/o/oauth2/auth"
OAuthCnxGoogle.URLToken = "https://accounts.google.com/o/oauth2/token"
OAuthCnxGoogle.Scope = "https://mail.google.com/"
OAuthCnxGoogle.URLRedirection = "http://localhost:9000"
OAuthCnxGoogle.TypeRéponse = "code"
gMaSessionIMAP.AuthToken = AuthIdentifie(OAuthCnxGoogle)
SI gMaSessionIMAP.AuthToken <> Null ALORS
SI EmailOuvreSession(gMaSessionIMAP) ALORS
SINON
FIN
SINON
FIN
Délai de timeout Il est possible de paramétrer le délai de timeout avec la fonction EmailChangeTimeOut. Gmail : Que faire si une connexion à Gmail (SMTP, IMAP, POP3) échoue avec une erreur de certificat ? Depuis fin août 2017, Google a déployé un nouveau certificat : Google Internet Authority G3. Malheureusement, l'API Windows utilisée pour la vérification des certificats ne valide pas ce certificat. L'ouverture d'une session POP3, IMAP ou SMTP peut donc échouer avec le retour "La chaîne de certificats a été fournie par une autorité qui n'est pas approuvée". Afin de permettre la validation du certificat, il est possible de modifier le mode de gestion des emails. La fonction WLangage EmailParamètre permet de changer ce mode et ainsi de ne plus utiliser l'API Windows qui bloque ce certificat. Voici le code à ajouter avant l'ouverture de la session par la fonction EmailOuvreSession :
EmailParamètre(emailParamètreMode, 1)
Remarques : - À partir de la version 23 Update 1, l'appel à la fonction EmailParamètre n'est plus nécessaire : le WLangage utilise automatiquement le mode de gestion des emails adapté à la session.
- La gestion des erreurs de certificat sur une session SMTP peut être réalisée avec la propriété IgnoreErreur d'une variable de type emailSessionSMTP.
Composante : wd300com.dll
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|