OPALE - 10.0 - Utilisation - Envoyer un mail avec un document PDF
MAPSNDMAIL
Sommaire
- 1 Préambule
- 2 Généralités sur la commande MAPSNDMAIL
- 3 Généralités sur la commande MAPSNDMAIL
- 4 Nouveautés 10.8.0
- 5 Gestion des menus
- 5.1 1. Paramétrage du mail
- 5.2 2. Démarrage de la gestion de mail
- 5.3 3. Arrêt du mail
- 5.4 4. Affichage de la file d'attente des mails
- 5.5 5. Envoi d'un mail
- 5.6 6. Envoi d'un spool par mail
- 5.7 7. Contrôle du fonctionnement du mail
- 5.8 8. Gérer les fichiers spoules (exécution interactive de MAPPING)
- 6 Mots-clés utilisés pour mapper automatiquement des données du fichier spool en entrée
- 7 Paramétrage
- 8 Contenu Texte ou HTML
- 9 Exemples
- 10 Troubleshooting
- 11 Voir aussi
Préambule
Avec la version "Opale", il est possible d'envoyer des emails avec un document PDF en pièce jointe avec un corps HTML personnalisé via la commande MAPSNDMAIL.
La commande MAPSNDMAIL prend en paramètre une maquette Designer (paramètre "Mapping format") . Celle-ci doit obligatoirement être générée en PDF.
Elle doit contenir des zones de type INDEX utilisées comme données dynamiques dans le sujet, le nommage des pièces jointes ou dans le contenu du corps de l'email.
Généralités sur la commande MAPSNDMAIL
Avant V10.1
La commande MAPSNDMAIL sur IBM i a plusieurs paramètres :
Spooled file . . . . . . . . . . Name Nom du spool Spooled file number . . . . . . *LAST *LAST *ONLY 000000-999999 Numéro du spool Job Name . . . . . . . . . . . . *CURRENT Name, *CURRENT , *DEV Nom du job Job number . . . . . . . . . . . 000000-999999 Numéro du job User . . . . . . . . . . . . . . *CURRENT Name User Mapping format . . . . . . . . . Character value,10 max. Format M-Designer Sequence . . . . . . . . . . . . *ALL *MRG 00000-99999 Numéro de séquence du projet M-Designer Delete file . . . . . . . . . . N Y, N Suppression du spool d'origine ? Start page . . . . . . . . . . . 1 Integer, *SPL Numéro de page de début End page . . . . . . . . . . . . 999999 Integer, *SPL, *LAST Numéro de page de fin Original State . . . . . . . . . 'READY' HOLD, READY Statut de l'email ? PRIORITY . . . . . . . . . . . . '3' 1, 2, 3, 4, 5 Priorité d'envoi Send from . . . . . . . . . . . *USER Emetteur de l'email Send TO . . . . . . . . . . . . _______________________________________________ Destinaire(s) de l'email Send CC . . . . . . . . . . . . _______________________________________________ Copie(s) Send CCI . . . . . . . . . . . . _______________________________________________ Copie(s) cachée(s) Subject . . . . . . . . . . . . _______________________________________________ Sujet de l'email Note . . . . . . . . . . . . . . _______________________________________________ Corps de l'email Name of this file in the mail . 'Doc.pdf' Nom du PDF envoyé par email Path and name of the file . . . ________________________________________________ Chemin d'une éventuelle autre pièce jointe Name of this file in the mail . ________________________________________________ Nom d'une éventuelle autre pièce jointe Delete mail after send . . . . . 'N' Y, N, O Supprimer ou non l'email après son envoi Delete file1 after send . . . . 'N' Y, N, O Supprimer le 1er fichier joint Delete file2 after send . . . . 'N' Y, N, O Supprimer le 2ième fichier joint Autres paramètres Code Page . . . . . . . . . . . *SPL *SPL, 037,1147 Spécifier un code page
A partir de la V10.1
Depuis la version 10.1 de la suite OPALE, il est possible d'envoyer des emails en mode XPS en utilisant la conversion XPS to PDF. Pour cela, 2 nouveaux paramètres sont apparus :
Type de langage . . . . . . . . . . . ________ *XPS
Imprimante XPS / Language . . . ________ Nom, *PDF,
Il est donc possible d'utiliser un format XPS afin d'envoyer un email. (la génération en PDF native n'est plus utile)
Type de langage . . . . . . . . . . . *XPS
Imprimante XPS / Language . . . *PDF
Généralités sur la commande MAPSNDMAIL
Nouveautés 10.8.0
La version 10.8.0 apporte son lots de nouveautés concernant les envoies d'emails.
Paramétrage SMTP sur l'écran de paramétrage d'envoies d'emails
Avant la version 10.8.0, le paramétrage SMTP se faisait via les variables d'environnement système WRKENVVAR. Maintenant ce paramétrage n'est plus géré dans le WRKENVVAR mais directement dans l'écran de paramétrage des envoies d'emails
Cet écran est disponible uniquement si vous disposez des droits SECOFR
SMTP server IP address Nom du serveur SMTP SMTP server port (25) Numéro du port de connexion SMTP server Login Nom d'utilisateur pour la connexion au server SMTP SMTP server Password Mot de passe pour la connexion au server SMTP SMTP Protocol Protocole SMTP (SSL, DTLS, TLS1, TLS1.1, TLS1.2) SMTP server domain Nom du domain du serveur SMTP Temp folder Répertoire temporaire (répertoire MAPSEND par défaut) Le dossier temporaire est le dossier où sont stockés les fichiers PDF envoyés par mail, les utilisateurs envoyant des mails doivent avoir les droits d'accès en lecture et écriture sur ce répertoire Data Queue processing ***détail à compléter*** par défaut : MAPSMTP La DTAQ par défaut est MAPSMTP (créée à l'installation), c'est elle qui permet au robot Mapping d'envoyer automatiquement les spools au serveur de mail. Cette DTAQ doit exister. Jobd for e-mailing ***détail à compléter*** par défaut : MAPDSMTP2 La JOBD par défaut est MAPDSMTP2 (créée à l'installation). Elle définit les propriétés des jobs d'envoi de mail par le robot. Cette JOBD doit exister. Message on success ***détail à compléter*** *USER Trois valeurs sont possibles : - *NONE. Par défaut, aucune commande n'est exécutée. - *USER. Par défaut, la commande SNDUSRMSG TOUSR(&USER) est exécutée. - *SYSOPR. Par défaut, la commande SNDUSRMSG TOUSR(*SYSOPR) est exécutée Message on error ***détail à compléter*** *USER Les réactions sur succès et sur erreur sont gérées dans le programme MAP_C031P9. Les sources de ce programme sont dans le fichier MAP_SPECIF de la bibliothèque d'installation. Trois valeurs sont possibles : - *NONE. Par défaut, aucune commande n'est exécutée. - *USER. Par défaut, la commande SNDUSRMSG TOUSR(&USER) est exécutée. - *SYSOPR. Par défaut, la commande SNDUSRMSG TOUSR(*SYSOPR) est exécutée SMTP debug level (SSL, DTLS, TLS1, TLS1.1, TLS1.2)
Paramétrage SMTP au niveau de la commande MAPSNDMAIL
Depuis la version 10.8.0, il est possible de surcharger les valeurs de paramétrage du serveur SMTP au niveau de la commande. Le mail envoyé utilisera alors les informations renseignées dans la commande et ignorera, pour cette envoie uniquement, les paramètres renseignés dans l'écran de configuration général.
La valeur *DFT fait référence au paramétrage de l'écran de configuration générale. Cette valeur peut être modifiée.
Other parameters
SMTP server name or address (*DFT) Nom du serveur SMTP SMTP server port (*DFT) Numéro du port de connexion SMTP login name (*DFT) Login de connexion SMTP login password (*DFT) password de connexion SMTP protocol (*DFT) Prptocole SMTP SMTP domain name (*DFT) Nom de domaine
Le menu d'envoi d'e-mail s'appelle MAPSND. Pour y accéder, il faut entrer la commande :
GO MAPSND
1. Paramétrage du mail
Avant la version 10.0
Cet écran est disponible uniquement si vous disposez des droits SECOFR
SMTP server IP address Nom du serveur SMTP
SMTP server port (25) Numéro du port de connexion SMTP server domain Nom du domain du serveur SMTP Temporary folder Répertoire temporaire (répertoire MAPSEND par défaut) Le dossier temporaire est le dossier où sont stockés les fichiers PDF envoyés par mail, les utilisateurs envoyant des mails doivent avoir les droits d'accès en lecture et écriture sur ce répertoire Waiting Dtaq ***détail à compléter*** par défaut : MAPSMTP La DTAQ par défaut est MAPSMTP (créée à l'installation), c'est elle qui permet au robot Mapping d'envoyer automatiquement les spools au serveur de mail. Cette DTAQ doit exister. Sending jobd ***détail à compléter*** par défaut : MAPDSMTP2 La JOBD par défaut est MAPDSMTP2 (créée à l'installation). Elle définit les propriétés des jobs d'envoi de mail par le robot. Cette JOBD doit exister. Action if success ***détail à compléter*** *USER Trois valeurs sont possibles : - *NONE. Par défaut, aucune commande n'est exécutée. - *USER. Par défaut, la commande SNDUSRMSG TOUSR(&USER) est exécutée. - *SYSOPR. Par défaut, la commande SNDUSRMSG TOUSR(*SYSOPR) est exécutée Action if error ***détail à compléter*** *USER Les réactions sur succès et sur erreur sont gérées dans le programme MAP_C031P9. Les sources de ce programme sont dans le fichier MAP_SPECIF de la bibliothèque d'installation. Trois valeurs sont possibles : - *NONE. Par défaut, aucune commande n'est exécutée. - *USER. Par défaut, la commande SNDUSRMSG TOUSR(&USER) est exécutée. - *SYSOPR. Par défaut, la commande SNDUSRMSG TOUSR(*SYSOPR) est exécutée
2. Démarrage de la gestion de mail
Ce menu permet de démarrer le travail MAPSMTP du sous-système MAPSROBOT. Ce travail doit absolument être démarré pour l'envoi de mail via la commande MAPSNDMAIL. Ce menu appelle la commande STRMAPMAIL.
3. Arrêt du mail
Ce menu permet d'arrêter le travail MAPSMTP du sous-système MAPSROBOT. Ce menu appelle la commande ENDMAPMAIL.
4. Affichage de la file d'attente des mails
Ce menu permet d'afficher l'historique des envois d'e-mail. Il est possible de filtrer par nom d'utilisateur. Ce menu appelle la commande MAPDSPMAIL.
Attention : L'accès à ce menu bloque les nouveaux envois d'e-mail. Il ne faut donc pas le laisser ouvert.
5. Envoi d'un mail
Ce menu permet l'envoi d'un e-mail avec ou sans pièce-jointe. Ce menu appelle la commande MAPSNDDST.
6. Envoi d'un spool par mail
Ce menu permet le maquettage d'un fichier spool IBM i ainsi que sa conversion en PDF et son envoi par e-mail. Ce menu appelle la commande MAPSNDMAIL.
7. Contrôle du fonctionnement du mail
Ce menu permet de lister les travaux du sous-système liés à l'envoi d'e-mail (en l’occurrence MAPSMTP).
8. Gérer les fichiers spoules (exécution interactive de MAPPING)
Ce menu permet de gérer les fichiers spool. Cette fonctionnalité est la même que l'option 1 du menu MAPPING. Ce menu appelle la commande MAPSPLF.
Mots-clés utilisés pour mapper automatiquement des données du fichier spool en entrée
Comme vu précédemment, un prérequis de la commande MAPSNDMAIL est la conception d'une maquette Designer avec une génération en langage PDF. Pour obtenir le contenu du fichier spool directement dans le corps de l'e-mail ou avoir l'adresse du destinataire et de l'émetteur pris dans le fichier spool, il existe plusieurs zones dans Designer (type de zone METADATA) :
Liste des mots clés
- mapFrom : Utilisé pour prendre l'adresse e-mail de l'expéditeur dans le fichier spool
- mapSend : Utilisé pour prendre l'adresse e-mail de destinataire de l'expéditeur dans fichier spool
- mapCopy : Utilisé pour prendre l'adresse e-mail de copy dans le fichier spool
- mapBCopy : Utilisé pour prendre l'adresse e-mail de copie cachée dans le fichier spool
- mapNote : Utilisé pour prendre des données du fichier spool et les mettre dans le corps de l'e-mail envoyé
- mapSubject : Utilisé pour prendre des données du fichier spool et les mettre dans le sujet de l'e-mail envoyé
Utilisation des mots clés
Pour utiliser les mots clés paramétrés dans le projet Designer (listés ci-dessus), il faut y faire référence dans la commande MAPSNDMAIL.
Pour ce faire, voici la liste des paramètres de la commande MAPSNDMAIL avec leurs valeurs respectives :
Nom du paramètre de la commande MAPSNDMAIL | Valeur pour faire référence aux métadonnées de Designer |
---|---|
Send FROM (FROM) | *MAPFROM |
Send TO (TO) | *MAPSEND |
Send CC (CC) | *MAPCOPY |
Send CCI (CCI) | *MAPBCOPY |
Subject (SUBJECT) | *MAPSUBJCT |
Note (NOTE) | *MAPNOTE |
Paramétrage
Paramétrage de la variable d'environnement pour définir l'expéditeur des emails
L'adresse e-mail expéditrice des e-mails et son mot de passe doivent être configurés dans des variables d'environnements du serveur MAPPING. Pour ce faire :
1) Taper la commande :
WRKENVVAR
2) Créer les variables d'environnement en *SYS pour le fonctionnement avec le sous-système de Mapping contenant l'adresse e-mail et le mot de passe pour l'authentification du serveur SMTP
MAIL_PASSWORD MONMOTDEPASSE MAIL_LOGIN MONADRESSEMAIL
L'adresse e-mail de l'expéditeur stipulée dans la commande MAPSNDMAIL devra être MONADRESSEMAIL.
PS : Dans le cas d'un envoi avec des expéditeurs variables (provenant du spool par exemple), une configuration du serveur SMTP est généralement possible pour autoriser les envois de mail à partir de n'importe quelle adresse mail.
Paramétrage de serveur d'envoi d'emails
Sur l'option 1 du menu GO MAPSND, il faut renseigner les informations du serveur d'envoi d'e-mails :
- Adresse IP du serveur
- Port du serveur
- Domaine du serveur
Attention : Il faut absolument posséder un profil SECOFR pour accéder à ce menu. Si tel n'est pas le cas, l'accès au menu sera impossible et aucun message ne sera affiché.
Paramétrage de sécurité
⚠ Paramétrage présent à partir d'Opale v10.5.0
Le mode de connexion sécurisé est TLS v1.2 par défaut.
Cependant, il est possible de basculer vers d'autres modes moins fréquents ou moins sécurisés en renseignant une variable d'environnement EMAILPROTOCOL
.
Ce paramètre prend une valeur numérique entre 1 et 5. L'absence de ce paramètre entraine le choix du TLS v1.2 .
Valeur | Protocol |
---|---|
1 | SSL v3 (sinon, v2 en cas de défaut) |
2 | DTLS v1 |
3 | TLS v1.0 |
4 | TLS v1.1 |
5 (par défaut) | TLS v1.2 |
Contenu Texte ou HTML
Depuis la version 10.4.0 de MAPPING IBM-i, il est possible d'expliciter le type de contenu (Texte ou HTML) du corps des emails.
Attention : Le comportement a changé en version 10.8.4 :MAPSNDMAIL depuis 10.8.4 - Changement de comportement sur le type de sortie TEXTE ou HTML dans le body du mail
Contenu Texte
Il est possible d'expliciter en texte le type de contenu de l'email envoyé par la commande MAPSNDMAIL. Pour cela il faut préfixer le contenu du body par %%TXT%% ou %%FILE_TXT%%
%%TXT%% : Permet d'envoyer le body en mode texte (valeur par défaut)
Exemple : %%TXT%%Voici le corps de mon email en texte
%%FILE_TXT%% : Le contenu de l'email sera alors le contenu d'un fichier envoyé en mode texte
Exemple : %%FILE_TXT%%/home/monbody.txt (Fichier encodé en ANSI)
Contenu HTML
Il est possible d'expliciter en HTML le type de contenu de l'email envoyé par la commande MAPSNDMAIL. Pour cela il faut préfixer le contenu du body par %%HTML%% ou %%FILE_HTML%%
%%HTML%% : Permet d'envoyer le body en mode HTML
Exemple : %%HTML%%Voici le corps de mon email en html
%%FILE_HTML%% : Le contenu de l'email sera alors le contenu d'un fichier envoyé en mode HTML
Exemple : %%FILE_HTML%%/home/monbody.html (Fichier encodé en ANSI)
Exemples
Envoi simple d'un email avec PDF joint
MAPSNDMAIL SPLF(FACTURE) SPLNUM(23) JOB(QPADEV0009) JOBNUM(855068) USER(JDIEU) MAPNAM(MAIL_DOC) MAPSEQ(00010) DELSPL(N) PAGSTR(1) PAGEND(10) STATE(READY)FROM('hotline@mappingsuite.onmicrosoft.com')
TO('jdieu@mappingsuite.onmicrosoft.com') SUBJECT('Mon sujet') NOTE('Ceci est mon corps demail') NAME1('PJ.pdf')
Envoi simple d'un email avec un corps d'email texte dynamique
MAPSNDMAIL SPLF(FACTURE) SPLNUM(23) JOB(QPADEV0009) JOBNUM(855068) USER(JDIEU) MAPNAM(MAIL_DOC) MAPSEQ(00010) DELSPL(N)
PAGSTR(1) PAGEND(10) STATE(READY) FROM('hotline@mappingsuite.onmicrosoft.com')
TO('jdieu@mappingsuite.onmicrosoft.com') SUBJECT('Mon sujet') NOTE('Ceci est mon corps d'email ayant pour donnée dynamique :[[DATE]]') NAME1('PJ.pdf')
Envoi d'un email avec un corps d'email HTML dynamique
Le principe de cette fonctionnalité est d'utiliser un fichier HTML pour le corps de l'email.
Voici un exemple d'un fichier HTML (mail.html) :
<body>
<img src="http://www.mappingsuite.com/wp-content/uploads/2018/08/Logo_web1.png"> Cher Monsieur [[NOM]] ayant pour numéro de client [[NUMCLI]], Veuillez trouver ci-joint votre facture nº <font color=red> [[NUMFAC]] en date du [[DATE]] </font>. <b>Cordialement</b> </body>
Attention : Dans le fichier HTML, les caractères spéciaux doivent être écrits avec un codage particulier : https://www.commentcamarche.com/contents/489-caracteres-speciaux-html
Son appel se fait par l'écriture de son chemin et de son nom dans le paramètre NOTE de la commande MAPSNDMAIL :
MAPSNDMAIL SPLF(FACTURE) SPLNUM(23) JOB(QPADEV0009) JOBNUM(855068) USER(JDIEU) MAPNAM(MAIL_DOC) MAPSEQ(00010) DELSPL(N)
PAGSTR(1) PAGEND(10) STATE(READY) FROM('hotline@mappingsuite.onmicrosoft.com') TO('jdieu@mappingsuite.onmicrosoft.com') SUBJECT('Mon sujet') NOTE('%%FILE_HTML%%/home/mapsend/mail.html') NAME1('PJ.pdf')
Voici le résultat obtenu :
Cher Monsieur MICALETTI ayant pour numéro de client 9214,
Veuillez trouver ci-joint votre facture nº 1 en date du 23/11/2016 .
Cordialement
Troubleshooting
Pour la résolution d'erreurs liées à l'envoi de mail via la commande MAPSNDMAIL, veuillez consulter la page suivante :
Résolution d'erreurs d'envoi de mail
Voir aussi
Paramétrage de l'envoi de mail Mot clé : MAPSNDMAIL, Envoi email, envoi PDF par mail, Mail