PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Propriétés spécifiques à la description des variables de type Email
  • Correspondance entre les propriétés et la norme RFC
  • Fonctions WLangage
  • Limites
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
Le type Email permet de manipuler le contenu d'un message électronique et les informations associées. Les caractéristiques de l'email peuvent être définies et modifiées à l'aide de différentes propriétés WLangage.
Ce type remplace et étend la structure Email en permettant, par exemple, de manipuler plusieurs messages en même temps.
Remarque : Pour plus de détails sur la déclaration de ce type de variable et l'utilisation des propriétés WLangage, consultez Déclaration d'une variable.
Versions 17 et supérieures
iPhone/iPad Ce type de variable est désormais disponible pour les applications iPhone et iPad.
Nouveauté 17
iPhone/iPad Ce type de variable est désormais disponible pour les applications iPhone et iPad.
iPhone/iPad Ce type de variable est désormais disponible pour les applications iPhone et iPad.
Versions 21 et supérieures
Universal Windows 10 App Ce type de variable est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Ce type de variable est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Ce type de variable est désormais disponible en mode Universal Windows 10 App.
Versions 22 et supérieures
Widget Android Ce type de variable est désormais disponible en mode Widget Android.
Android Ce type de variable est désormais disponible pour les applications Android.
Nouveauté 22
Widget Android Ce type de variable est désormais disponible en mode Widget Android.
Android Ce type de variable est désormais disponible pour les applications Android.
Widget Android Ce type de variable est désormais disponible en mode Widget Android.
Android Ce type de variable est désormais disponible pour les applications Android.
Exemple
// Envoi d'un email

// Construction du message
MonMessage est un Email

// Expéditeur
MonMessage..Expediteur = sExpediteur

// Destinataires
sDestinataire_1 est une chaîne = "aaa@gmail.com"
sDestinataire_2 est une chaîne = "bbb@gmail.com"
Ajoute(MonMessage..Destinataire, sDestinataire_1)
Ajoute(MonMessage..Destinataire, sDestinataire_2)


// Contenu du message
MonMessage..Sujet = SAI_Sujet
MonMessage..Message = RTFVersTexte(sNote)
MonMessage..HTML = RTFVersHTML(sNote)

// Ouverture une session SMTP
MaSession est un emailSessionSMTP
MaSession..AdresseServeur = sServeur
SI EmailOuvreSession(MaSession) = Faux ALORS RETOUR

// Envoi du message (la constante emailOptionEncodeEntête permet
// de prendre en compte les caractères accentués)
EmailEnvoieMessage(MaSession, MonMessage, emailOptionEncodeEntête)

// Fermeture de la session
EmailFermeSession(MaSession)
Remarques

Propriétés spécifiques à la description des variables de type Email

Les propriétés suivantes peuvent être utilisées pour manipuler une variable de type Email :
NomType manipuléEffet
AccuséRéceptionBooléenEn envoi, permet de demander un accusé de réception au destinataire (Vrai). Le destinataire n'est pas obligé d'envoyer un accusé de réception.
En réception, permet de savoir si l'expéditeur a demandé un accusé de réception (Vrai) ou non (Faux). Si la confirmation de lecture est demandée, elle est prioritaire sur l'accusé de réception.
Cette propriété vaut Faux par défaut.
WINDEVWEBDEV - Code Serveur Cette propriété n'est pas gérée par Outlook sous Windows.
AdresseExpéditeurChaîne de caractèresAdresse de l'expéditeur.
Remarque : Si l'adresse contient des caractères spéciaux, des accents, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage.
WINDEVWEBDEV - Code Serveur Sous Outlook, cette variable est ignorée. Le nom du compte de la session en cours est utilisé pour remplir cette variable.
WINDEVWEBDEV - Code Serveur Sous Lotus, si l'expéditeur n'est pas renseigné, le login Lotus est utilisé.
Versions 24 et supérieures
AdresseRetourErreur
Nouveauté 24
AdresseRetourErreur
AdresseRetourErreur
Chaîne de caractèresAdresse de retour en cas d'erreur. Cette adresse est gérée par les protocoles POP3, IMAP et SMTP.
Remarque : Si l'adresse contient des caractères spéciaux, des accents, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage.
AndroidWidget Android Non disponible.
AttacheTableau de emailAttacheContient la description des fichiers attachés.
Le nombre de fichiers attachés est illimité.
Pour plus de détails sur la gestion des fichiers attachés, consultez emailAttache.
Remarque : Si la pièce jointe est remplie manuellement, il ne faut pas oublier de préciser la propriété ..Nom sinon l'image ne sera pas transmise dans l'email. Exemple :
oEmail..Attache[1]..Contenu = fChargeBuffer(fRepDonnées() +
 ["\"] + "Email\" + sLogoSociété)
oEmail..Attache[1]..ContentType = "image/gif"
oEmail..Attache[1]..Nom = "logo.gif"
CatégorieChaîne de caractèresListe de mots-clés associés à l'email. Les mots-clés sont séparés par des points virgules.
Remarque : Si un des mots-clés contient des caractères spéciaux, des accents, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage.
CcTableau de chaînes de caractèresContient les adresses des destinataires en copie : leur nom figure dans l'email reçu par les destinataires officiels (propriété ..Destinataire).
Les adresses sont limitées à 127 caractères.
Le nombre de destinataires en copie est limité à 200. En mode SMTP, il est possible de dépasser cette limite, mais certains serveurs n'acceptent pas toujours les emails ayant un nombre important de destinataires.
CciTableau de chaînes de caractèresContient les adresses des destinataires non officiels : leur nom ne figure pas dans l'email reçu par les destinataires officiels (propriété ..Destinataire).
Les adresses sont limitées à 127 caractères. Le nombre de destinataires non officiels est limité à 200. En mode SMTP, il est possible de dépasser cette limite, mais certains serveurs n'acceptent pas toujours les emails ayant un nombre important de destinataires.
Versions 16 et supérieures
Certificat
Nouveauté 16
Certificat
Certificat
CertificatCertificat utilisé pour signer l'email (entête, contenu et pièces jointes) avant son envoi.
Versions 16 et supérieures
LinuxAndroidWidget AndroidiPhone/iPadWindows MobileUniversal Windows 10 App Cette propriété n'est pas disponible.
Nouveauté 16
LinuxAndroidWidget AndroidiPhone/iPadWindows MobileUniversal Windows 10 App Cette propriété n'est pas disponible.
LinuxAndroidWidget AndroidiPhone/iPadWindows MobileUniversal Windows 10 App Cette propriété n'est pas disponible.
ConfidentialitéConstante de type EntierType de confidentialité de l'email. Les valeurs possibles sont les suivantes :
  • emailConfidentiel : Utilisé par exemple pour les emails envoyés à l'intérieur d'une société.
  • emailNormal (Valeur par défaut) : Aucune confidentialité.
  • emailPersonnel : Utilisé par exemple pour les emails personnels.
  • emailPrivé : Utilisé par exemple pour les emails privés.
Cette propriété n'est pas gérée sous Lotus Notes.
ConfirmationLectureBooléenEn envoi, permet de demander une confirmation de lecture au destinataire (Vrai). Le destinataire n'est pas obligé d'envoyer une confirmation de lecture.
En réception, permet de savoir si l'expéditeur a demandé une confirmation de lecture (Vrai) ou non.
Si la confirmation de lecture est demandée, elle est prioritaire sur l'accusé de réception.
Par défaut, cette propriété vaut Faux.
WINDEVWEBDEV - Code Serveur Cette propriété n'est pas gérée sous Lotus Notes.
Cette propriété est gérée par Outlook sous Windows et Outlook sous Pocket.
DateRéceptionChaîne de caractères ou variable de type DateHeureDate de réception du message.
DestinataireTableau de chaînes de caractèresContient les adresses des destinataires principaux. Le nombre de destinataires est limité à 20. En mode SMTP, il est possible de dépasser cette limite, mais certains serveurs n'acceptent pas toujours les emails ayant un nombre important de destinataires.
EnDehorsBooléenIndique si un message a pu être lu sur le serveur :
  • Faux si le message a été lu.
  • Vrai si le message n'a pas été lu.
Versions 19 et supérieures
Entête
Nouveauté 19
Entête
Entête
Tableau de emailEntêteEntêtes de l'email.
Windows Mobile Cette propriété n'est pas disponible.
ExpéditeurChaîne de caractèresAdresse à laquelle la réponse au message doit être envoyée (127 caractères maximum).
Remarque : Si l'expéditeur contient des caractères spéciaux, des accents, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage.
WINDEVWEBDEV - Code Serveur Sous Outlook, cette variable est ignorée. Le nom du compte de la session en cours est utilisé pour remplir cette variable.
WINDEVWEBDEV - Code Serveur Sous Lotus, si l'expéditeur n'est pas renseigné, le login Lotus est utilisé.
HTMLChaîne de caractèresMessage avec une mise en forme HTML. Limité à 4 Go.
Cette propriété est gérée uniquement en POP3 / SMTP.
IDChaîne de caractèresIdentifiant unique de l'email. Cet identifiant est constant pour toute la durée de vie de l'email. Cet identifiant est initialisé lors de l'envoi de l'email (fonction EmailEnvoieMessage).
Remarque : Si l'identifiant contient des caractères spéciaux, des accents, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage.
WINDEVWEBDEV - Code Serveur Cette propriété est gérée par les logiciels de messagerie Outlook et Lotus Notes uniquement.
Versions 23 et supérieures
IdentifiantEmailAsynchrone
Nouveauté 23
IdentifiantEmailAsynchrone
IdentifiantEmailAsynchrone
Chaîne de caractèresIdentifiant de l'email (mode asynchrone uniquement).
WEBDEV uniquement
WINDEVLinuxAndroidWidget AndroidiPhone/iPadWindows MobileUniversal Windows 10 App Cette propriété n'est pas disponible.
MessageChaîne de caractèresTexte du message (avec une mise en forme texte simple). Limité à 2 Go maximum (64Ko maximum dans le cas de Lotus Notes).
Remarque : Si le message contient des caractères spéciaux, des accents, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage.
MessageIDChaîne de caractèresIdentifiant unique de l'email. Cet identifiant est constant pour toute la durée de vie de l'email. Cet identifiant est utilisé pour suivre une conversation.
Lors d'un envoi, cette variable précise l'identifiant de l'email. Si cette variable correspond à une chaîne vide, l'identifiant sera fourni par le serveur. L'application qui génère l'identifiant doit s'assurer de l'unicité de cet identifiant.
Lors de la réception, cette variable précise l'identifiant de l'email.
Cet identifiant est de la forme <Identifiant@domaine>. Par exemple : 1@192.168.2.210
WINDEVWEBDEV - Code Serveur Cette propriété n'est pas gérée sous Lotus Notes.
Windows Mobile Cette propriété est gérée par Outlook sous Pocket.
WINDEVWEBDEV - Code Serveur Cette propriété n'est pas gérée par Outlook sous Windows.
PrioritéConstante de type EntierType de priorité de l'email. Les valeurs possibles sont les suivantes :
  • emailPrioritéBasse : utilisé par exemple pour les emails très peu urgents.
  • emailPrioritéHaute : utilisé par exemple pour les emails urgents.
  • emailPrioritéNormale (Valeur par défaut) : utilisé par exemple pour les emails non urgents.
RéférenceChaîne de caractèresIdentifiant unique d'un ou de plusieurs emails de référence liés à la conversation en cours.
WINDEVWEBDEV - Code Serveur Cette propriété n'est pas gérée sous Lotus Notes.
Windows Mobile Cette propriété est gérée par Outlook sous Pocket.
WINDEVWEBDEV - Code Serveur Cette propriété n'est pas gérée par Outlook sous Windows.
Versions 16 et supérieures
Signature
Nouveauté 16
Signature
Signature
Constante de type EntierEtat de la signature de l'email :
  • certificatExpiré : Signature valide mais certificat expiré.
  • certificatInvalide : Signature ou certificat invalide.
  • certificatNonFiable : Signature valide mais la racine de confiance du certificat est non fiable.
  • certificatOK : Signature et certificat fiables.
Cette propriété est disponible en lecture uniquement.
Versions 16 et supérieures
LinuxAndroidWidget AndroidiPhone/iPadWindows MobileUniversal Windows 10 App Cette propriété n'est pas disponible.
Nouveauté 16
LinuxAndroidWidget AndroidiPhone/iPadWindows MobileUniversal Windows 10 App Cette propriété n'est pas disponible.
LinuxAndroidWidget AndroidiPhone/iPadWindows MobileUniversal Windows 10 App Cette propriété n'est pas disponible.
SourceChaîne de caractèresContient la source du message reçu (sujet, expéditeur, destinataire, contenu, ...).
SujetChaîne de caractèresSujet du message.
Remarque : Si le sujet contient des caractères spéciaux, des accents, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage.
TexteBrutChaîne de caractèresTexte brut du message. Cette variable est disponible en réception uniquement.

Remarques :
  • Ces propriétés peuvent être utilisées à l'aide d'une des deux syntaxes suivantes :
    • <Nom de la variable>..<Nom de la propriété>
    • <Nom de la variable>.<Nom de la propriété>
  • Versions 17 et supérieures
    Il est possible d'utiliser des caractères non latins dans les propriétés suivantes : ..Sujet, ..Message, ..Catégorie, ..AdresseExpéditeur, ..Expéditeur, ..ID. Dans ce cas, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage.
    Nouveauté 17
    Il est possible d'utiliser des caractères non latins dans les propriétés suivantes : ..Sujet, ..Message, ..Catégorie, ..AdresseExpéditeur, ..Expéditeur, ..ID. Dans ce cas, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage.
    Il est possible d'utiliser des caractères non latins dans les propriétés suivantes : ..Sujet, ..Message, ..Catégorie, ..AdresseExpéditeur, ..Expéditeur, ..ID. Dans ce cas, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage.

Correspondance entre les propriétés et la norme RFC

Version 23 et précédentes
A partir de la version 24
EnvoiRéceptionEnvoiRéception
From ..ExpéditeurRenseigne
..Expéditeur
..ExpéditeurRenseigne
..Expéditeur
Reply-To..AdresseExpéditeurRenseigne
..AdresseExpéditeur
..AdresseExpéditeurRenseigne
..AdresseExpéditeur
Return-Path..AdresseExpéditeurRenseigne
..AdresseExpéditeur
si le "Reply-To" est vide.
..AdresseRetourErreurRenseigne
..AdresseRetourErreur
Return-Receipt-To (AccuséReception)..AdresseExpéditeur si renseigné sinon ..ExpéditeurMet à vrai
..AccuséRéception si la valeur reçue est non vide.
..AdresseExpéditeur si renseigné sinon ..ExpéditeurMet à vrai
..AccuséRéception si la valeur reçue est non vide.
Disposition-Notification-To (ConfirmationLecture)..AdresseExpéditeur si renseigné sinon ..ExpéditeurMet à vrai
..ConfirmationLecture si la valeur reçue est non vide.
..AdresseExpéditeur si renseigné sinon ..ExpéditeurMet à vrai
..ConfirmationLecture si la valeur reçue est non vide.

Fonctions WLangage

Les fonctions suivantes peuvent être utilisées pour manipuler une variable de type Email :
Versions 15 et supérieures
EmailChangeEtat
Nouveauté 15
EmailChangeEtat
EmailChangeEtat
Change l'état d'un email sur un serveur de messagerie.
Versions 15 et supérieures
EmailChargeFichierAttaché
EmailChargeFichierAttaché
Ajoute un fichier en attachement d'un email.
Versions 11 et supérieures
EmailCherchePremier
Nouveauté 11
EmailCherchePremier
EmailCherchePremier
Recherche un ou plusieurs emails selon des critères spécifiés dans le logiciel de messagerie (Outlook, logiciel de messagerie utilisant le protocole IMAP, ...).
Versions 11 et supérieures
EmailCherchePremierNotes
EmailCherchePremierNotes
Recherche un ou plusieurs emails selon des critères spécifiés, dans une base locale ou distante Lotus Notes ou Domino.
Versions 12 et supérieures
EmailConstruitSource
EmailConstruitSource
Génère le code source de l'email à envoyer à partir des variables actuellement présentes dans la structure email ou dans une variable de type Email.
Versions 17 et supérieures
EmailCopie
Nouveauté 17
EmailCopie
EmailCopie
Copie un email présent dans un répertoire vers un autre répertoire d'un serveur IMAP.
Versions 09 et supérieures
EmailEnvoieMessage
Nouveauté 09
EmailEnvoieMessage
EmailEnvoieMessage
Envoie un email selon le protocole utilisé (SMTP, MS Exchange, Pocket Outlook, Lotus Notes, Outlook).
Versions 10 et supérieures
EmailImporteHTML
Nouveauté 10
EmailImporteHTML
EmailImporteHTML
Importe dans la structure Email ou dans une variable de type Email le contenu d'un fichier HTML afin de l'envoyer par email.
Versions 12 et supérieures
EmailImporteSource
Nouveauté 12
EmailImporteSource
EmailImporteSource
Remplit une variable de type Email à partir du contenu de sa propriété ..Source ou les différentes variables de la structure email à partir du contenu de la variable Email.Source.
Versions 09 et supérieures
EmailLitDernier
Nouveauté 09
EmailLitDernier
EmailLitDernier
Lit le dernier email reçu selon le protocole utilisé (POP3 ou IMAP, MS Exchange, Lotus Notes ou Outlook).
Versions 09 et supérieures
EmailLitEntêteDernier
EmailLitEntêteDernier
Lit l'entête du dernier email reçu selon le protocole utilisé (POP3 ou IMAP, Lotus Notes ou Outlook).
Versions 09 et supérieures
EmailLitEntêteMessage
EmailLitEntêteMessage
Lit l'entête d'un email reçu selon le protocole utilisé (POP3 ou IMAP, Lotus Notes ou Outlook).
Versions 09 et supérieures
EmailLitEntêtePrécédent
EmailLitEntêtePrécédent
Lit l'entête de l'email précédant l'email en cours selon le protocole utilisé (POP3 ou IMAP, Lotus Notes ou Outlook).
Versions 09 et supérieures
EmailLitEntêtePremier
EmailLitEntêtePremier
Lit l'entête du premier email reçu selon le protocole utilisé (POP3 ou IMAP, Lotus Notes ou Outlook).
Versions 09 et supérieures
EmailLitEntêteSuivant
EmailLitEntêteSuivant
Lit l'entête de l'email suivant l'email en cours selon le protocole utilisé (POP3 ou IMAP, Lotus Notes ou Outlook).
Versions 09 et supérieures
EmailLitMessage
Nouveauté 09
EmailLitMessage
EmailLitMessage
Lit un email reçu selon le protocole utilisé (POP3 OU IMAP, Lotus Notes ou Outlook).
Versions 09 et supérieures
EmailLitPrécédent
Nouveauté 09
EmailLitPrécédent
EmailLitPrécédent
Lit l'email précédent l'email en cours selon le protocole utilisé (POP3 ou IMAP, MS Exchange, Lotus Notes ou Outlook).
Versions 09 et supérieures
EmailLitPremier
Nouveauté 09
EmailLitPremier
EmailLitPremier
Lit le premier email reçu selon le protocole utilisé (POP3 ou IMAP, MS Exchange, Lotus Notes ou Outlook).
Versions 09 et supérieures
EmailLitSuivant
Nouveauté 09
EmailLitSuivant
EmailLitSuivant
Lit l'email reçu suivant l'email en cours selon le protocole utilisé (POP3 ou IMAP, MS Exchange, Lotus Notes ou Outlook).
Versions 09 et supérieures
EmailRAZ
Nouveauté 09
EmailRAZ
EmailRAZ
Ré-initialise toutes les variables de la structure email ou d'une variable de type Email.
Versions 20 et supérieures
EmailRécupèreIndicateur
EmailRécupèreIndicateur
Récupère les indicateurs définis sur un email d'une session IMAP.
Versions 09 et supérieures
EmailSupprimeMessage
EmailSupprimeMessage
Permet de supprimer l'email en cours selon le protocole en cours (POP3, IMAP, MS Exchange, Pocket Outlook, messagerie Lotus Notes ou Outlook).
AndroidWidget Android

Limites

Ce type de variable est disponible uniquement sur des appareils avec des processeurs ARM. Si ce type de variable est utilisé sur des appareils avec des processeurs non ARM (x86, mips, ...), une erreur fatale sera déclenchée. Ce type de variable est disponible uniquement sur des appareils utilisant des processeurs ARM ou une émulation ARM. Dans le cas contraire (et sur la tablette Samsung Galaxy Tab 3), une erreur fatale sera déclenchée.
Liste des exemples associés :
WD Mail Exemples complets (WINDEV) : WD Mail
[ + ] Cette application est un client mail complet développé en WINDEV. Il s'appuie sur les objets Email.
Ce client mail permet de récupérer et d'envoyer des emails en utilisant les protocoles POP, IMAP et SMTP.
Il est possible d'appliquer des filtres sur le courrier entrant.

L'application permet également de gérer plusieurs comptes emails différents. L'écriture d'un email s'appuie sur le champ de saisie HTML.
Version minimum requise
  • Version 15
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire