|
|
|
|
|
- Présentation
- Les différentes variables de la structure email
- Accusé de réception d'email
- Variables de la structure email faisant partie de l'entête de l'email
- Quelles fonctions utilisent la structure email ?
- Les valeurs de la variable Email.Erreur
Avertissement
La structure email est conservée par compatibilité, et pour une utilisation en PHP. Dans la majorité des cas, il est conseillé d'utiliser une variable de type Email.
La structure Email est une structure prédéfinie du WLangage (aucune déclaration n'est nécessaire). Cette structure permet de : - créer un email,
- récupérer le contenu des emails.
Pour remettre à zéro toutes les variables de la structure Email, utilisez la fonction EmailRaz. La structure Email offre une méthode simple pour manipuler un email. Il est également possible d'utiliser les types avancés de manipulation des emails :Ces types avancés permettent par exemple de : - manipuler plusieurs emails simultanément.
- utiliser les fonctions Sérialise/Désérialise sur l'email.
- utiliser le Data binding.
- utiliser les boucles POUR TOUT sur les sessions emails.
- ...
Les différentes variables de la structure email La structure est composée des membres suivants : Remarque : Les limites données dans ce tableau concernent uniquement le client MS Exchange. Lors de l'utilisation du protocole POP3/SMTP, les limites sont celles données par le serveur. | | Email.AccuséRéception | Booléen (Faux par défaut).
En envoi, permet de demander un accusé de réception au destinataire. 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. Si la confirmation de lecture est demandée, elle est prioritaire sur l'accusé de réception.Ce membre n'est pas géré par Outlook sous Windows. | Email.AdresseExpéditeur | Chaîne de caractères contenant l'adresse à laquelle la réponse au message doit être envoyée (127 caractères maximum). Correspond au Reply-To.
Sous Outlook, cette variable est ignorée. Le nom du compte de la session en cours est utilisé pour remplir cette variable.
Sous Lotus, si l'expéditeur n'est pas renseigné, le login lotus est utilisé.
Remarque : Si l'adresse contient des caractères spéciaux ou des accents, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage. | Email.Attache | Tableau de chaînes contenant le nom 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 | Email.Catégorie | Chaîne de caractères contenant une liste de mots-clé associés à l'email. Les mots-clés sont séparés par des points virgules.Remarque : Si un mot-clé contient des caractères spéciaux ou des accents, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage. | Email.CC | Tableau de chaînes contenant les adresses des destinataires en copie : leur nom ne figure pas dans le mail reçu par les destinataires officiels (variable Email.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. | Email.Cci (ou Bcc) | Tableau de chaînes contenant les adresses des destinataires non officiels : leur nom ne figure pas dans le mail reçu par les destinataires officiels (variable Email.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. | Email.Certificat | Variable de type Certificat contenant le certificat à utiliser pour signer l'email avant son envoi. | Email.Confidentialité | Constante de type Entier contenant le type 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.
Ce membre n'est pas géré sous Lotus Notes. | Email.ConfirmationLecture | Booléen (Faux par défaut)
En envoi, permet de demander une confirmation de lecture au destinataire. 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. Si la confirmation de lecture est demandée, elle est prioritaire sur l'accusé de réception.
Ce membre n'est pas géré sous Lotus Notes. Ce membre est géré par Outlook pour Windows. | Email.DateRéception | Date contenant la date de réception du message (128 caractères). Si la session email a été ouverte grâce à la fonction :- EmailOuvreSession : le format de la date dépend de la langue utilisée par Windows sur le poste en cours.
- EmailOuvreSessionOutlook : le format de la date correspond au format suivant : AAAAMMJJHHSSCCmmm. L'heure est au format UTC.
| Email.Destinataire | Tableau de chaînes de caractères contenant les adresses des destinataires principaux. Les destinataires en copie et les destinataires non officiels ne sont pas pris en compte. 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. | Email.EnDehors | Booléen indiquant si un message a pu être lu. Email.EnDehors retourne Faux lorsqu'un message a été lu et Vrai lorsque le message n'a pas été lu. | Email.Erreur | Chaîne de caractères contenant le message d'erreur. | Email.Expéditeur | Chaîne de caractères contenant l'adresse de l'expéditeur. Sous Lotus, si l'expéditeur n'est pas renseigné, le login lotus est utilisé.Remarque : Si l'expéditeur contient des caractères spéciaux ou des accents, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage. | Email.HTML | Chaîne de caractères contenant le message avec une mise en forme HTML. Limité à 4 Go. Ce membre est géré uniquement en POP3 / SMTP. | Email.ID | Identifiant unique de l'email (chaîne de caractères). 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 ou des accents, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage. Logiciel de messagerie Outlook et Lotus Notes uniquement | Email.IdentifiantAttache | Tableau de chaînes de caractères contenant l'identifiant des fichiers attachés inclus dans un message HTML. Cette variable est renseignée uniquement lors de la réception d'un email. | Email.IdentifiantMail | Identifiant de l'email (mode asynchrone uniquement) WEBDEV uniquement | Email.Message | Chaîne de caractères contenant le texte du message (avec une mise en forme texte simple). Limité à 2Go maximum (64Ko maximum dans le cas de Lotus Notes). Remarque : Si le message contient des caractères spéciaux ou des accents, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage. | Email.MessageID | Identifiant unique de l'email (chaîne de caractères). 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. C'est à l'application qui génère l'identifiant de s'assurer de l'unicité de cet identifiant. Cette variable n'est prise en compte que si la variable EmailOptionMessageID est utilisée dans la fonction EmailEnvoieMessage.
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 Ce membre n'est pas géré sous Lotus Notes. Ce membre n'est pas géré par Outlook sous Windows. | Email.NbAttache | Entier indiquant le nombre de fichiers attachés au message. Le nombre de fichiers attachés est illimité. | Email.NbCc | Entier correspondant au nombre de destinataires pour copie (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. | Email.NbCci (ou NbBcc) | Entier correspondant au nombre de destinataires non officiels (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. | Email.NbDestinataire | Entier contenant le nombre de destinataires du message. 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. | Email.Priorité | Constante de type Entier contenant le type 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.
Attention : Ce membre est géré uniquement en POP3 / SMTP. | Email.Référence | Chaîne de caractères. Identifiant unique d'un ou de plusieurs emails de référence liés à la conversation en cours. Ce membre n'est pas géré sous Lotus Notes. Ce membre n'est pas géré par Outlook sous Windows. | Email.Signature | Constante de type Entier correspondant à l'état 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.
| Email.Source | Chaîne de caractères contenant la source du message reçu (sujet, expéditeur, destinataire, contenu, ...). Ce membre n'est pas géré par Outlook sous Windows. | Email.Sujet | Chaîne de caractères contenant le sujet du message. Remarque : Si le sujet contient des caractères spéciaux ou des accents, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage. | Email.TexteBrut | Chaîne de caractères contenant le texte brut du message. Cette variable est disponible en réception uniquement. | Gestion avancée des emails (mode SMTP uniquement) : Pour réaliser une description avancée des emails, il est possible d'accéder aux champs MIME Content-Type et Content-Description pour chaque fichier attaché fourni avec l'email. Les variables correspondantes sont les suivantes : | | Email.AttacheContentDescription | Mode SMTP uniquement
Tableau de chaînes correspondant au contenu du champ MIME Content-description de chaque fichier attaché. Le nombre de fichiers attachés est illimité. | Email.AttacheContentType | Mode SMTP uniquement
Tableau de chaînes correspondant au contenu du champ MIME Content-type de chaque fichier attaché. Le nombre de fichiers attachés est illimité. |
Ces variables sont accessibles en lecture lors d'une réception et en écriture lors d'un envoi. Remarques : - Si Email.Message et Email.HTML sont vides, et si le mail ne contient qu'un seul fichier attaché, les champs MIME content-Type et Content-description correspondront aux caractéristiques du fichier attaché.
- Il est possible d'utiliser des caractères non latins dans les variables suivantes :
- Email.Sujet
- Email.Message
- Email.Categorie
- Email.AdresseExpediteur
- Email.Expéditeur
- Email.ID
Dans ce cas, utilisez la constante emailOptionEncodeEntête lors de l'envoi du message avec la fonction EmailEnvoieMessage.
Accusé de réception d'email Deux variables permettent de gérer l'accusé de réception d'un email : Email.ConfimationLecture et Email.AccuséRéception. Certaines messageries reconnaissent uniquement Email.ConfirmationLecture, d'autres reconnaissent les deux variables et effectuent des traitements spécifiques en fonction de la variable utilisée. Email.ConfirmationLecture est la variable la plus reconnue par les messageries récentes, Email.AccuséRéception étant de moins en moins reconnue. Pour rester compatible avec les messageries utilisant la seconde variable, les 2 variables sont conservées et différenciées. Il est conseillé d'utiliser ces deux variables (la variable prioritaire étant Email.ConfirmationLecture). Variables de la structure email faisant partie de l'entête de l'email Lors de la lecture de l'entête de l'email, la structure email est automatiquement mise à jour en fonction du contenu de l'entête du message. Les variables suivantes sont vides : - Email.Message
- Email.Attache
- Email.NbAttache
- Email.HTML
- Email.TexteBrut
Ces variables nécessitent une lecture complète du message (fonction EmailLitMessage). Les variables Email.Bcc et Email.NbBcc servent uniquement à envoyer des emails. Quelles fonctions utilisent la structure email ? Les fonctions utilisant la structure email sont : | | Nom de la fonction | Variables utilisées |
---|
EmailEnvoie | Lors de l'envoi de l'email, seules les variables de la structure email nécessaires au protocole SMTP sont prises en compte. Les autres variables sont ignorées. Variables utilisées : Email.CC, Email.Destinataire, Email.Expéditeur, Email.NbCC, Email.NbDestinataire. | EmailEnvoieMessage | Variables utilisées en écriture pour créer l'email : Email.Attache, Email.Message, Email.Destinataire, Email.NbAttache, Email.NbDestinataire, Email.Sujet | EmailLitPremier | Variables utilisées en lecture : Email.AdresseExpéditeur, Email.Attache, Email.DateRéception, Email.EnDehors , Email.Message, Email.NbAttache et Email.Sujet | EmailLitSuivant | Variables utilisées en écriture : Email.AdresseExpéditeur, Email.Attache, Email.DateRéception, Email.EnDehors, Email.Message, Email.NbAttache et Email.Sujet | EmailMiseAJour | Email.Erreur | EmailOuvreSession | Email.Erreur | EmailSupprimeMessage | Email.EnDehors |
Les valeurs de la variable Email.Erreur La variable Email.Erreur contient après chaque fonction le compte-rendu d'erreur de la fonction : | | Valeur | Signification |
---|
0 | Aucune erreur | 1 | Abandon demandé par l'utilisateur | 2 | Erreur inconnue | 3 | Impossible de se connecter | 4 | Disque plein | 5 | Plus de mémoire disponible | 6 | Accès interdit | 8 | Trop de sessions ouvertes | 9 | Trop de fichiers attachés (10 fichiers maximum) | 10 | Trop de destinataires (20 destinataires maximum) | 11 | Fichier attaché non trouvé | 12 | Impossible d'ouvrir le fichier attaché | 13 | Impossible d'écrire le fichier attaché | 14 | Destinataire inconnu | 17 | Message invalide | 18 | Texte du message trop long | 19 | Session invalide | 21 | Adresse du destinataire ambiguë | 23 | Erreur réseau |
Liste des exemples associés :
|
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.
|
|
Exemples unitaires (WEBDEV) : Envoi d'emails
[ + ] Envoi d'un email avec WEBDEV.
|
|
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.
|
|
Exemples didactiques (WINDEV) : WD JavaMail
[ + ] Cet exemple est un exemple Java permettant de de lire et envoyer des emails.
|
|
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.
|
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|