PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Protocole SMTP
  • Session et nom d'utilisateur
  • SMTP authentifié
  • Délai de timeout
  • Fonctionnalité d'application requise
  • Gestion des emails en mode asynchrone
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Ouvre une session d'envoi d'emails avec le protocole SMTP. Il sera uniquement possible d'envoyer des emails.
Versions 17 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Remarques :
  • Le serveur SMTP à utiliser est en général le serveur SMTP du fournisseur d'accès à Internet (et pas celui du compte email). Par exemple si vous avez un accès Internet Orange et un compte email Free, il faut utiliser le serveur SMTP de Orange et pas celui de Free.
  • Pour ouvrir une session de réception et de lecture d'emails, utilisez la fonction EmailOuvreSessionPOP3.
  • Vous pouvez également utiliser une variable de type EmailSessionSMTP.
Versions 22 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 22
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Android Cette fonction est désormais disponible pour les applications Android.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Android Cette fonction est désormais disponible pour les applications Android.
Exemple
// Envoi d'un email par un serveur SMTP non sécurisé
EmailChangeTimeOut(10) // 10 secondes pour le time out
// Attention : il faut utiliser le serveur SMTP du fournisseur d'accès Internet
soit sServeursSMTP = "smtp.orange.fr"
SI EmailOuvreSessionSMTP(sNomUser, sMotDePasse, sServeurSMTP) = Vrai ALORS
// Procédure permettant d'initialiser la structure email
Initialise_Email()
// Envoie l'email
SI EmailEnvoieMessage(sNomUser) = Faux ALORS
Erreur()
FIN
EmailFermeSession(sNomUser)
SINON
Erreur("Impossible d'établir la connexion", ErreurInfo(), ...
"En cas de Time Out, assurez-vous des paramètres du " + ...
"""Pare-Feu"" sur le port utilisé (25)")
FIN
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindowsAjaxCode Utilisateur (MCU)
NomUser est une chaîne

NomUser = "monadresse@gmail.com"
// Envoi d'un email par le protocole SMTP sécurisé
EmailChangeTimeOut(10) // 10 secondes pour le time out
// Utilisation d'un serveur SMTP sécurisé avec authentification
// Nécessaire en général pour utiliser un SMTP
// différent de celui du fournisseur d'accès Internet
SI EmailOuvreSessionSMTP(NomUser, "MotDePasse", ...
"smtp.gmail.com", 587, Faux, emailOptionSécuriséTLS) = Vrai ALORS
// Procédure permettant d'initialiser la structure email
Initialise_Email()
// Envoie l'email
SI EmailEnvoieMessage(NomUser) = Faux ALORS
Erreur()
FIN
EmailFermeSession(NomUser)
SINON
Erreur("Impossible d'établir la connexion", ErreurInfo(), ...
"En cas de Time Out, assurez-vous des paramètres du "+ ...
"""Pare-Feu"" sur le port utilisé (587)")
FIN
Syntaxe
<Résultat> = EmailOuvreSessionSMTP(<Nom utilisateur> [, <Mot de passe>] , <Adresse serveur SMTP> [, <Numéro port SMTP> [, <Mode Asynchrone> [, <Option>]]])
<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 (avec guillemets)
Identifie la session d'emails dans les fonctions de gestion des emails (utilisé par exemple par la fonction EmailEnvoieMessage pour envoyer des emails).
<Mot de passe> : Chaîne de caractères optionnelle (avec guillemets)
Mot de passe de l'utilisateur. Ce mot de passe est fourni par le fournisseur de services ou par l'administrateur réseau. Ce mot de passe permet d'ouvrir une session SMTP authentifiée.
<Adresse serveur SMTP> : Chaîne de caractères (avec guillemets)
Nom DNS ou adresse IP du serveur d'emails (protocole sortant). Cette adresse IP est fournie par le fournisseur de services ou par l'administrateur réseau.
Attention : Il est nécessaire d'utiliser le serveur SMTP du fournisseur de la connexion Internet. Ce serveur SMTP peut n'avoir aucun lien avec le serveur SMTP associé au compte email.
<Numéro port SMTP> : Entier optionnel
Identifie le port utilisé pour le protocole SMTP (25 par défaut).
<Mode Asynchrone> : Constante ou booléen optionnel
emailAsynchrone (ou Vrai)Les emails envoyés lors de la session ouverte avec la fonction EmailOuvreSessionSMTP doivent être transmis en mode asynchrone.
emailSynchrone (ou Faux)
(valeur par défaut)
Les emails envoyés lors de la session ouverte avec la fonction EmailOuvreSessionSMTP doivent être transmis en mode synchrone.
WINDEVAndroidWidget AndroidiPhone/iPadWindows MobileUniversal Windows 10 AppJava Ce paramètre doit correspondre à emailSynchrone ou Faux.
<Option> : Constante optionnelle de type Entier
Options de la session SMTP. Les valeurs possibles sont :
emailOptionDéfaut
(valeur par défaut)
Ouverture de session SMTP.
Versions 15 et supérieures
emailOptionSécuriséTLS
Nouveauté 15
emailOptionSécuriséTLS
emailOptionSécuriséTLS
Ouverture de session SMTP sécurisée par le protocole TLS.
LinuxAndroidWidget AndroidiPhone/iPadWindows MobileUniversal Windows 10 App Cette constante n'est pas disponible.
Windows MobileUniversal Windows 10 App Cette constante n'est pas disponible.
Versions 20 et supérieures
OptionSSL
Nouveauté 20
OptionSSL
OptionSSL
Ouverture de session SMTP sécurisée par le protocole SSL. Ce type de session est utilisée par exemple par les serveurs Orange, Free, gMail.
LinuxAndroidWidget AndroidiPhone/iPadWindows MobileUniversal Windows 10 App Cette constante n'est pas disponible.
Windows MobileUniversal Windows 10 App Cette constante n'est pas disponible.
Java Ce paramètre n'est pas disponible.
Remarques

Protocole SMTP

  • Les différents paramètres passés à la fonction EmailOuvreSessionSMTP 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 un modem pour se connecter à Internet : la fonction NetOuvreAccèsDistant permet d'ouvrir la connexion à Internet.
    • L'utilisateur utilise une connexion à Internet directe (câble ou ADSL) : aucune opération spécifique ne doit être faite.
  • Le protocole SMTP permet uniquement d'envoyer des messages emails. Si vous tentez de lire des messages emails sans ouvrir une session POP3 (fonction EmailOuvreSessionPOP3), une erreur du WLangage sera générée. Pour ouvrir à la fois une session POP3 et une session SMTP, utilisez la fonction EmailOuvreSession.

Session et nom d'utilisateur

Après l'ouverture d'une session SMTP, il est possible d'ouvrir une session POP3 (fonction EmailOuvreSessionPOP3) en utilisant le même nom d'utilisateur.

SMTP authentifié

Le paramètre <Mot de passe> permet d'ouvrir une session SMTP authentifiée. Le mécanisme d'authentification supporté est de type SMTP Login et Plain.
Si le serveur reconnaît un de ces deux mécanismes d'authentification et si l'authentification échoue, alors la connexion échoue également.
Si le serveur ne reconnaît pas un de ces deux mécanismes d'authentification, si l'authentification échoue, la fonction EmailOuvreSessionSMTP tente une connexion sans authentification.
Remarque : 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.

Délai de timeout

Il est possible de paramétrer le délai de timeout avec la fonction EmailChangeTimeOut.
Versions 21 et supérieures
Universal Windows 10 App

Fonctionnalité d'application requise

L’utilisation de cette fonction entraîne la déclaration d'une fonctionnalité d'application dans l'assistant de génération de l'application.
Fonctionnalité requise : Réseaux domestiques et professionnels
Cette fonctionnalité permet aux applications d'utiliser des accès entrants et sortants vers des réseaux domestiques et professionnels.
Nouveauté 21
Universal Windows 10 App

Fonctionnalité d'application requise

L’utilisation de cette fonction entraîne la déclaration d'une fonctionnalité d'application dans l'assistant de génération de l'application.
Fonctionnalité requise : Réseaux domestiques et professionnels
Cette fonctionnalité permet aux applications d'utiliser des accès entrants et sortants vers des réseaux domestiques et professionnels.
Universal Windows 10 App

Fonctionnalité d'application requise

L’utilisation de cette fonction entraîne la déclaration d'une fonctionnalité d'application dans l'assistant de génération de l'application.
Fonctionnalité requise : Réseaux domestiques et professionnels
Cette fonctionnalité permet aux applications d'utiliser des accès entrants et sortants vers des réseaux domestiques et professionnels.
WEBDEV - Code ServeurAjax

Gestion des emails en mode asynchrone

Par défaut, les fonctions Email sont bloquantes. Cela signifie que pendant leur exécution, aucun autre code ne peut être exécuté. Le programme continuera de s'exécuter uniquement lorsque l'exécution des fonctions Email sera terminée.
WEBDEV offre la possibilité de gérer les emails en mode asynchrone. Ce mode permet à vos sites d'envoyer des emails sans bloquer l'exécution des différents traitements.
Pour utiliser le mode asynchrone , il faut :
  1. Décocher l'option "Désactiver le spooler de mail" dans l'administrateur WEBDEV (onglet "Avancé").
  2. Activer le mode asynchrone à l'ouverture de la session SMTP (avec la fonction EmailOuvreSessionSMTP ou EmailOuvreSession).
  3. Tous les emails à envoyer seront transmis à un "spooleur". Les emails sont ainsi mis en file d'attente avant d'être envoyés.
L'exécution des fonctions Email n'est alors plus bloquante pour le reste du programme. La fonction EmailEtat permet de connaître l'état d'un email.
Remarque : Si l'administrateur WEBDEV est fermé, le spooler d'emails est vidé : les emails en attente ne sont pas envoyés et sont enlevés du spooler.
Si vous cochez l'option "Désactiver le spooler de mail" alors que des emails sont en attente, ces emails ne seront pas perdus : l'administrateur continue de les envoyer, mais aucun nouveau mail ne sera accepté par le spooler.
Attention : Le mode asynchrone est utilisable uniquement lors de l'ouverture d'une session sur un serveur SMTP (fonction EmailOuvreSessionSMTP pour l'envoi d'emails, ou fonction EmailOuvreSession). Le mode asynchrone est ignoré dans tous les autres cas.
Liste des exemples associés :
Pocket Gestion Contacts Mobile (WINDEV Mobile) : Pocket Gestion Contacts
[ + ] Cet exemple illustre la gestion de contacts sous Pocket PC.
Dans cet exemple, nous abordons les principaux thèmes suivants :
1/ les zones répétées
2/ l'utilisation des requêtes
3/ l'envoi de SMS
4/ l'envoi d'email
5/ l'appel téléphonique.
Composantes
WINDEVWEBDEV - Code ServeurEtats et Requêtes wd220com.dll
Windows Mobile wp220com.dll
Java wd220java.jar
Linux wd220com.so
Android wd220android.jar
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire