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

MAPSNDMAIL

De MappingDoc
Révision datée du 4 avril 2019 à 08:39 par Rdal (discussion | contributions) (Gestion des menus)

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 M-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

La commande MAPSNDMAIL sur AS/400 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                                                Emeteur 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

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

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. 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. 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 AS/400 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 GO MAPPING. Ce menu appelle la commande COGISPLF.

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 M-Designer avec une génération en langage PDF. Pour avoir le contenu du fichier spool directement dans le corps de l'email ou également avoir l'adresse de destinaire et de l'émetteur pris dans le fichier spool, il existe plusieurs zone dans M-designer (accessible avec le type de zone METADATA) :

Liste des mots clés

  • mapFrom : Utiliser pour prendre l'adresse email de l'expéditeur dans le fichier spool
  • mapSend : Utiliser pour prendre l'adresse email de destinataire de l'expéditeur dans fichier spool
  • mapCopy : Utiliser pour prendre l'adresse email de copy dans le fichier spool
  • mapBCopy : Utiliser pour prendre l'adresse email de copie cachée dans le fichier spool
  • mapNote : Utiliser pour prendre des données du fichier spool et le mettre dans le corps de l'email envoyé
  • mapSubject : Utiliser pour prendre des données du fichier spool et le mettre dans le sujet de l'email envoyé

Utilisation des mots clés

Pour utiliser les mots clés paramétrés dans le projet M-Designer (listés ci-dessus), nous devons y faire référence dans la commande MAPSNDMAIL.

Pour ce faire, voici la liste des paramètres de la commande MAPSNDMAIL avec leur valeur respective :

Nom du paramètre de la commande MAPSNDMAIL Valeur pour faire référence au métadonnées de M-Designer
Send FROM (FROM) *MAPFROM
Send TO (TO) *MAPSEND
Send CC (CC) *MACOPY
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 email expéditrice des emails et son mot de passe doivent être configurés dans des variables d'environnements du serveur MAPPING. Pour se faire :

1) Taper la commande :

WRKENVVAR

2) Créer les variables d'environnements en *SYS (pour le fonctionnement avec le sous-système de Mapping) contenant l'adresse email et le mot de passe pour l'authentification du serveur SMTP

MAIL_PASSWORD                MONMOTDEPASSE 
MAIL_LOGIN                   MONADRESSEMAIL 

L'adresse email de l'expéditeur stipulée dans la commande MAPSNDMAIL devra être MONADRESSEMAIL

PS : Dans le cas d'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'emails :

  • Adresse IP server
  • Port du serveur
  • Domaine du serveur

Attention : Il faut absolument avoir un profil SECOFR pour pouvoir accéder à ce menu. Si tel n'est pas le cas, l'accès du menu sera impossible et aucun message ne sera affiché

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]],
Vous trouverez 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('/home/mapsend/mail.html') NAME1('PJ.pdf')

Voici le résultat obtenu :

LOGOMAPPING.jpg
Cher Monsieur MICALETTI ayant pour numéro de client 9214,

Vous trouverez ci-joint votre facture nº 1 en date du 23/11/2016 .

Cordialement