PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Mode asynchrone
  • Jauge de progression
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
Envoie un email :
  • soit en utilisant le protocole SMTP : l'email est directement envoyé au serveur. L'envoi effectif est réalisé lors de la déconnexion du serveur SMTP (c'est-à-dire lors de la fermeture de la session).
  • WINDEVWEBDEV - Code Serveur soit par l'intermédiaire du client MS Exchange : l'email est placé dans la boîte d'envoi de MS Exchange. Pour envoyer réellement l'email, utilisez la fonction EmailMiseAJour.
  • Windows Mobile soit par l'intermédiaire de Pocket Outlook (compte utilisateur différent du compte "ActiveSync") : l'email est placé dans la boîte d'envoi de Pocket Outlook.
  • WINDEVWEBDEV - Code Serveur soit par l'intermédiaire du logiciel Lotus Notes : l'email est placé dans la boîte d'envoi du logiciel de messagerie. L'email est automatiquement envoyé par le spooler de Domino. Attention : Lotus Notes doit être installé en mode connecté et non en mode local.
  • WINDEVWEBDEV - Code Serveur soit par l'intermédiaire du logiciel Outlook : l'email est placé dans la boîte d'envoi du logiciel de messagerie. L'envoi effectif de l'email est réalisé à partir de Outlook. Pour plus de détails, consultez Accéder à Outlook.
Attention : Avant d'envoyer l'email, il est nécessaire de :
AndroidWidget AndroidiPhone/iPadUniversal Windows 10 AppJava Dans cette version, il est possible d'envoyer un email uniquement en utilisant le protocole SMTP.
PHP Dans cette version, il est possible d'envoyer un email uniquement en utilisant le protocole SMTP. Avant d'envoyer cet email, il n'est pas nécessaire d'ouvrir une session avec la fonction EmailOuvreSession. Pour que l'envoi de l'email soit effectif, il faut que le serveur SMTP à utiliser soit fourni au moteur PHP. Il faut l'indiquer dans l'entrée "SMTP =" du fichier PHP.INI.
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.
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.
WINDEVWEBDEV - Code ServeurEtats et RequêtesAndroidWidget AndroidiPhone/iPadWindows MobileUniversal Windows 10 AppAjaxCode Utilisateur (MCU) Envoi d'un message par SMTP
// Ouverture d'une session SMTP
MaSession est un emailSessionSMTP
MaSession..AdresseServeur = "smtp.masociete.fr"
EmailOuvreSession(MaSession)
 
// Construction d'un email
MonMessage est un Email
MonMessage..Expediteur = "service_commande@masociete.fr"
Ajoute(MonMessage..Destinataire, "client@societe.com")
MonMessage..Sujet = SAI_SujetEmail
MonMessage..Message = SAI_TexteEmail
 
// Envoi du message
EmailEnvoieMessage(MaSession, MonMessage)
PHP Envoi d'un message depuis un site WEBDEV PHP
// Note : l'ouverture d'une session SMTP n'est pas nécessaire
 
// Construction d'un email (utilisation de la structure Email)
Email.Expéditeur = "service_commande@masociete.fr"
Email.NbDestinataire = 1
Email.Destinataire[1] = "client@societe.com"
Email.Sujet = SAI_SujetEmail
Email.Message = SAI_TexteEmail
 
// Envoi du message
EmailEnvoieMessage()
Syntaxe

Envoyer un email en utilisant le protocole SMTP Masquer les détails

<Résultat> = EmailEnvoieMessage(<Session> [, <Email> [, <Options avancées>]])
<Résultat> : Booléen
  • Vrai si le message a été envoyé au serveur SMTP,
  • Faux dans le cas contraire. Pour connaître le libellé de l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
Java En cas d'erreur, il faut tester le contenu de la variable Email.Erreur.
<Session> : Chaîne de caractères ou variable de type emailSessionSMTP
Identifie la session d'un utilisateur. Correspond :
PHP Ce paramètre n'est pas disponible.
<Email> : Variable de type Email optionnelle
Versions 15 et supérieures
Nom de la variable de type Email correspondant à l'email à envoyer. Si ce paramètre n'est pas spécifié, les informations contenues dans la structure Email sont utilisées.
JavaPHP Ce paramètre n'est pas disponible.
Nouveauté 15
Nom de la variable de type Email correspondant à l'email à envoyer. Si ce paramètre n'est pas spécifié, les informations contenues dans la structure Email sont utilisées.
JavaPHP Ce paramètre n'est pas disponible.
Nom de la variable de type Email correspondant à l'email à envoyer. Si ce paramètre n'est pas spécifié, les informations contenues dans la structure Email sont utilisées.
JavaPHP Ce paramètre n'est pas disponible.
<Options avancées> : Constante optionnelle de type Entier
Combinaison des constantes suivantes :
Versions 15 et supérieures
emailOptionEncodeEntête
Nouveauté 15
emailOptionEncodeEntête
emailOptionEncodeEntête
Encode les entêtes du message en Quoted-Printable si nécessaire.
Par défaut, les entêtes des messages ne sont pas encodés. Cette constante évite la réception de messages avec des accents mal décodés.
emailOptionMessageIDTient compte de la variable Email.MessageID pour générer l'email. Si cette variable est absente, cette option est ignorée.
Cette option est une option avancée.
emailOptionRéférenceTient compte de la variable Email.Référence pour générer l'email. Si cette variable est absente, cette option est ignorée.
Cette option est une option avancée.
PHP Ce paramètre n'est pas disponible.
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindows MobileAjaxCode Utilisateur (MCU)

Envoyer un email par l'intermédiaire de MS Exchange, Pocket Outlook, Lotus Notes ou Outlook Masquer les détails

<Résultat> = EmailEnvoieMessage(<Id session> [, <Email> [, <Afficher> [, <Type>]]])
<Résultat> : Booléen
  • Vrai si le message a été placé dans la boîte d'envoi de MS Exchange, de Lotus Notes ou de Outlook,
  • Faux dans le cas contraire. Pour connaître le libellé de l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
Windows Mobile Cas particuliers :
  • Vrai si le message a été placé dans la boîte d'envoi de Pocket Outlook,
  • Faux dans le cas contraire. Pour connaître le libellé de l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Id session> : Entier ou variable de type emailSessionOutlook
Identifie la session email en cours. Ce paramètre peut être :
<Email> : Variable de type Email optionnelle
Versions 15 et supérieures
Nom de la variable de type Email correspondant à l'email à envoyer.
Si ce paramètre n'est pas spécifié, les informations contenues dans la structure Email sont utilisées.
Nouveauté 15
Nom de la variable de type Email correspondant à l'email à envoyer.
Si ce paramètre n'est pas spécifié, les informations contenues dans la structure Email sont utilisées.
Nom de la variable de type Email correspondant à l'email à envoyer.
Si ce paramètre n'est pas spécifié, les informations contenues dans la structure Email sont utilisées.
<Afficher> : Booléen optionnel
  • Vrai pour afficher le message dans une boîte de dialogue avant de l'envoyer,
  • Faux (par défaut) pour ne pas afficher de boîte de dialogue.
Ce paramètre est pris en compte uniquement si la session email a été ouverte à l'aide de la fonction EmailOuvreSession, en utilisant la syntaxe MS Exchange avec un nom de profile. Dans les autres cas, la boîte de dialogue ne s'affiche pas.
Remarque : Ce paramètre n'est pas disponible pour Lotus Notes.
Windows Mobile Ce paramètre n'est pas disponible. Il n'est pas possible d'afficher le message dans une boîte de dialogue avant de l'envoyer.
<Type> : Chaîne de caractères (avec guillemets) optionnelle
Décrit le type de message à envoyer. Par défaut, <Type> = "IPM" (Inter Personal Message).
Windows Mobile Ce paramètre n'est pas disponible. Il n'est pas possible de décrire le type de message à envoyer.
Remarques
WEBDEV - Code ServeurAjax

Mode asynchrone

Si l'ouverture de session a été effectuée en mode asynchrone (fonctions EmailOuvreSession et EmailOuvreSessionSMTP), la fonction EmailEnvoieMessage crée un identifiant pour chaque email envoyé.
L'identifiant de l'email est stocké dans la variable Email.IdentifiantMail et pourra être utilisé avec la fonction EmailEtat afin de connaître l'état d'envoi actuel de l'email (envoyé, en cours, ...).
Traitement des erreurs en mode asynchrone : La fonction EmailEnvoieMessage renvoie Vrai si l'email est placé dans le spooler d'emails, Faux si il n'est pas possible de contacter le spooler. Pour savoir si l'email a été envoyé, il est nécessaire d'utiliser la fonction EmailEtat.
WINDEVEtats et RequêtesAndroidWidget AndroidiPhone/iPadWindows MobileUniversal Windows 10 AppCode Utilisateur (MCU)

Jauge de progression

Pour suivre la progression de l'envoi de l'email, utilisez la fonction EmailJauge.
Liste des exemples associés :
Envoi d'un email au format HTML Exemples unitaires (WINDEV) : Envoi d'un email au format HTML
[ + ] Utilisation de la fonction WLangage "EmailImporteHTML".
Cette fonction permet d'importer un fichier HTML directement dans la structure email. Cela permet notamment d'ajouter des images simplement dans des emails.
Envoi d'emails Exemples unitaires (WEBDEV) : Envoi d'emails
[ + ] Envoi d'un email avec WEBDEV.
WD Mailing par emails Exemples didactiques (WINDEV) : WD Mailing par emails
[ + ] Cet exemple illustre la possibilité d'envoyer un mailing par eMails avec WINDEV.

Cet exemple permet de saisir l'objet du message, son contenu et ses pièces jointes.
L'utilisateur doit ensuite sélectionner les clients auxquels le message doit être envoyé.
La fonction WLangage EMailEnvoieMessage() permet ensuite d'envoyer tout simplement le message saisi à chacun des clients sélectionnés.
Mise en œuvre technique :
Un serveur de mail compatible POP3/SMTP doit obligatoirement être accessible depuis le poste sur lequel s'exécute l'application.
WD JavaMail Exemples didactiques (WINDEV) : WD JavaMail
[ + ] Cet exemple est un exemple Java permettant de de lire et envoyer des emails.
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.
WW_CMS Exemples complets (WEBDEV) : WW_CMS
[ + ] Cet exemple est un exemple de CMS (Content Management System).
C'est un site de gestion de contenu, typiquement un site d'affichage d'articles.

Cet exemple est découpé en 2 parties :
- Une partie AWP pour la partie qui doit être référencée
- Une partie WEBDEV Classique pour la partie administration

Note :
Pour que certaines fonctionnalités de l'exemple fonctionnent (l'envoi d'emails par exemple) il est nécessaire de modifier les paramètres afin de les adapter à votre configuration.
Ces paramètres sont stockés sous forme de constantes définies dans le code du projet.
Composante : wd240com.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
détail des erreurs
Bonjour,

Effectivement cette fonction manque cruellement d'information en cas d'échec. Nous avons un simple message texte. Face à un fournisseur je suis incapable de lui fournir des informations détaillées sur le problème rencontré. Pour un développeur, cela fait pas sérieux de ne pas pouvoir indiquer plus d'informations que ça.
Je me retrouve dans un cas d'échec, ça ne marche pas mais je n'ai que le message : Des erreurs de sécurité ont été détectées pendant la mise en place de la communication.
Que voulez-vous faire avec seulement cette information ...
Waric
26 juin 2019
messagerie avec WINDEV
C'est ingérable ! Trop de cas différents, trop d'inconfort. PCSOFT devrait publier une documentation juste sur ce sujet. Développez la récupération automatique des caractéristiques de la messagerie locale. Améliorer les contenus des messages d'erreur... une journée pour programmer l'envoi d'un mail sous WINDEV et cela ne fonctionne toujours pas ! Messages d'erreur ésotériques.
MARC CHERNET
18 juil. 2018