OPALE - 10.0 - Utilisation - Envoyer un mail avec un document PDF

MAPSNDMAIL

De MappingDoc
Révision datée du 24 octobre 2024 à 09:42 par Jdieu (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Autres langues :
English • ‎français

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

Gestion des menus

Le menu d'envoi d'e-mail s'appelle MAPSND. Pour y accéder, il faut entrer la commande :

GO MAPSND


MAPSND.jpg

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 :

LOGOMAPPING.jpg
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