Envoi de fichiers PDF par e-mail

De MappingDoc

Cette documentation décrit la fonction permettant d’envoyer par email des fichiers PDF (envoi réalisé à partir d’un fichier XPS). Cette fonction se trouve dans le workflow dans la partie « Mail », « Send PDF E-Mail ».

DESCRIPTION DE L’INTERFACE

ONGLET STANDAR

To : Ce paramètre permet de renseigner les adresses de destination Cc : Ce paramètre permet de renseigner les adresses en copie (FACULTATIF) Email subject : Ce paramètre permet de renseigner le sujet de l’email (FACULTATIF)

Remarque : Plusieurs destinataires ou copies peuvent être renseignées, chacune séparé par un point-virgule. « ; »

ONGLET HTML BODY

Cet onglet permet de renseigner le corps du mail à envoyer.

Remarque : On peut soit taper du HTML directement ou soit appeler un fichier HTML en tapant la syntaxe suivante : FILE : C:\MonFichierHtml.html

ONGLET XPS PARAMETERS

Cet onglet permet de renseigner le fichier XPS à convertir par PDF et à envoyer par email Input file : Ce paramètre permet de spécifier le fichier XPS à convertir par PDF et à envoyer par email Profile : Ce paramètre permet de spécifier un profile de conversion XPS to PDF

ONGLET ATTACHMENT

Cet onglet permet de renseigner le nom de la pièce jointe Attachment filename : Ce paramètre permet de spécifier le nom de la pièce jointe

ONGLET SERVER OPTIONS

Cet onglet permet de renseigner les paramètres du serveur SMTP utilisé pour l’envoi des emails

SMTP server : Ce paramètre permet de renseigner l’adresse IP du serveur SMTP ou son nom DNS SMTP domain : Ce paramètre permet de renseigner le nom de domaine du serveur SMTP SMTP port : Ce paramètre permet de renseigner le numéro de port utilisé pour l’envoi de l’email SMTP server login : Ce paramètre permet de renseigner le login utilisé pour la connexion au serveur SMTP SMTP server password : Ce paramètre permet de renseigner le mot de passe utilisé pour la connexion au serveur SMTP

ONGLET MAIL OPTION

Cet onglet permet de renseigner l’émetteur du mail, la copie cachée (FACTULTATIF), ainsi que les options d’envoi (accusé de réception ou accusé de lecture) From : Ce paramètre permet de renseigner l’émetteur de l’email Bcc : Ce paramètre permet de renseigner la ou les copies cachées de l’email Acknowledgment : Cette option permet de demander un accusé de réception (si cochée) Read receipt : Cette option permet de demander un accusé de lecture (si cochée)

Remarque : Plusieurs destinataires en copie cachée peuvent être renseignés, chacun séparé par un point-virgule « ; »

ONGLET MAIL FORMAT

Cet onglet permet de renseigner le corps du mail en mode Texte (et non HTML), le pied de page de l’email (en mode HTML ou en mode Texte) Body text : Ce paramètre permet de renseigner le corps du mail en mode texte (pas de formatage) HTML footer : Ce paramètre permet de renseigner le pied de page de l’email en mode HTML (écrire directement de l’HTML) Text footer : Ce paramètre permet de renseigner le pied de page du mail en mode texte (pas de formatage)

Remarque : On peut soit taper du HTML directement ou soit appeler un fichier HTML en tapant la syntaxe suivante : FILE : C:\MonFichierHtml.html

Ticket en cours : 00002817 bug sur les retours à la ligne dans les « body text »

EXEMPLES

===VARIANTE 1 ===: ENVOI DE MAIL AVEC NOM DE LA PIECE JOINTE FIXE ET CORPS DU MAIL EN TEXTE BRUT Prenons pour exemple le workflow suivant : La boite « Send PDF mail » doit absolument recevoir un fichier XPS. Tout autre fichier sera refusé et une erreur apparaitra dans les logs.

Les paramètres de la boite sont : Le fichier envoyé est le fichier reçu par la boite Paramètre d’environnement « MAP_FILE_IN », il est tout à fait possible de mettre un fichier en dur (par exemple : C:\MonFichier.xps) . Dans cet exemple là, le fichier en entrée servirait alors uniquement de déclencheur. Etant donné que c’est une boite d’envoi de PDF par email, il est inutile de spécifier le nom de l’extension, un PDF sera automatiquement inclus dans le mail.

  • Cette action envoie un mail à « jdieu@mappingsuite.com » de la part de « jdieu@mappingsuite.com » avec une pièce jointe MyAttachment.pdf et pour corps :

This is my first line of my email body This is my second line of my email body This is my third line of my email body

VARIANTE 2 : ENVOI DE MAIL AVEC NOM DE LA PIECE JOINTE VARIABLE ET CORPS DU MAIL EN TEXTE BRUT

Dans cet exemple, nous envoyons un email avec une pièce jointe ayant un nom dynamique égal au nom du fichier d’entrée reçu par le moteur de règles, et un corps dynamique ayant le nom de la pièce jointe dessus. Dans cet exemple, le fichier envoyé au workflow s’appelle Attachment_jerome.xps Prenons pour exemple le workflow suivant :

A)Action « Parameter » : FILENAME_TEMP

Cette action permet d’initialiser une variable avec une partie d’une autre variable.

Ici nous :

  • Créons une variable : FILENAME_TEMP
  • Initialisons cette variable avec le basename de la variable MAP_TITLE

(ex : MAP_TITLE : C:\Repertoire\attachment_Jerome.xps  Le basename est : attachment_Jerome.xps)

Dans notre exemple, la valeur du FILENAME_TEMP est Attachment_Jerome.xps Voir documentation : Workflow_String.pdf

B)Action « Parameter » : FILENAME Le but de cette 2ième boite est d’avoir une variable (ici FILENAME) égal à « Attachment_Jerome » et non « Attachment_Jerome.xps » et ensuite l’utiliser

Ici nous :

  • Créons une variable : FILENAME
  • Initialisons cette variable avec la partie du FILENAME_TEMP jusqu’au point

Dans notre exemple, la valeur du FILENAME est « Attachment_Jerome »

Voir documentation : Workflow_String.pdf

On utilisera cette variable FILENAME pour nommer le fichier joint et l’indiquera dans le corps du Mail.

C)Action « Parameter » : Send_PDF_mail

Cette action permet d’envoyer le Mail.

Ici nous nommons le fichier joint avec la variable FILENAME (ici en bleu : Correspond à un paramètre et non à une valeur en dur) Remarque : Il est possible d’appeler une variable en indiquant [%, et cette fois-ci en mode VALEUR (texte en noir). Dans notre exemple, le paramètre serait :


Dans ce cas, nous mixons du texte en dur avec une variable. Par conséquent la variable doit absolument être spécifiée avec [% car nous ne pouvons pas mixer des valeurs PARAM (bleu) avec des valeurs VALUE (noir)

VARIANTE 3 : ENVOI DE MAIL AVEC NOM DE LA PIECE JOINTE VENANT D’UN INDEX DANS LE FICHIER XPS D’ENTREE

Dans cet exemple, nous envoyons un email avec une pièce jointe ayant un nom dynamique égal à une valeur d’un index présent dans le fichier XPS, et un corps dynamique ayant le nom de la pièce jointe dessus.

Dans cet exemple, le fichier envoyé a un index s’appelant IDX_QNUFAC ayant pour valeur 00057109

Prenons pour exemple le workflow suivant :


A)Action « Parameter » : INDEX_VALUE

Cette action permet d’initialiser une variable avec la valeur d’un index présent dans le fichier XPS reçu en entrée.

Ici nous :

  • Créons une variable : INDEX_VALUE
  • Initialisons cette variable avec la première valeur de l’index IDX_QNUFAX trouvé dans le fichier XPS (ici 00057109)

Dans cet exemple, la valeur du IDX_QNUFAX est « 00057109 »

B)Action « Parameter » : Send_PDF_mail

Cette action permet d’envoyer le mail.


Ici nous nommons le fichier joint avec la variable FILENAME (ici en bleu correspondant à un paramètre et non à une valeur en dur). Remarque : Il est possible d’appeler une variable en indiquant [%, et cette fois-ci en mode VALEUR (texte en noir). Dans notre exemple, le paramètre serait :

VARIANTE 4 : ENVOI DE MAIL AVEC UNE ADRESSE DE DESTINATION VARIABLE

La méthode est la même que pour le nom de la pièce jointe variable.

Il faut initialiser une variable avec la valeur de l’adresse email et l’utiliser dans l’onglet. Ici la variable « EMAIL_TO » est initialisée avec la valeur de l’index du fichier XPS en entrée « IDX_EMAIL » Ensuite, sa valeur est utilisée dans la boite « Send PDF mail ».


Dans ce cas, nous mixons du texte en dur avec une variable. Par conséquent la variable doit absolument être spécifiée avec [% car nous ne pouvons pas mixer des valeurs PARAM (bleu) avec des valeurs VALUE (noir)


VARIANTE 5 : ENVOI D’UN EMAIL AVEC UN BODY ET UN FOOTER

Cette variante permet l’envoi d’un PDF par email en spécifiant un BODY et un FOOTER. Pour cela, il faut utiliser le body du 2ième onglet « HTML Body ». Le Html Body de l’onglet « Mail format » n’est pas pris en compte.

1)Tout d’abord, spécifions l’adresse de destination et le sujet de l’email :

2)Ensuite, spécifions la valeur du corps du mail :

Pour ajouter des sauts de ligne, il faut ajouter la valeur
, un simple retour à la ligne (touche Entrée) ne fonctionne pas. On peut également spécifier un corps HTML avec un fichier HTML (voir exemple ci-dessous).

3)Ensuite, spécifions la valeur du footer : Pour ajouter des sauts de ligne, il faut ajouter la valeur
, un simple retour à la ligne (touche Entrée) ne fonctionne pas. On peut également spécifier un corps HTML avec un fichier HTML (voir exemple ci-dessous). Remarque : Si le « HTML body » et le « Body text » de l’onglet « Mail format » sont tous les deux renseignés, seul le « HTML body » sera pris en compte.

VARIANTE 6 : ENVOI D’UN EMAIL AVEC UN CORPS HTML APPELANT UN FICHIER HTML EXTERNE

Cette variante permet l’envoi d’un PDF par email comportant un corps HTML venant d’un fichier HTML externe. Le plus gros avantage de cette option est que le fichier HTML peut être généré et géré par une personne extérieure à Mapping (un spécialiste HTML par exemple et non spécialiste MAPPING). Le fait de modifier le fichier HTML aura pour effet de modifier automatiquement le contenu de l’email envoyé par MAPPING, sans toucher les règles de traitement.

1)Tout d’abord, spécifions l’adresse de destination et le sujet de l’email :

2)Ensuite, spécifions la valeur du corps du body HTML via un fichier HTML externe :

Attention : Il ne faut pas faire un retour à la ligne après le nom du .html sinon celui-ci ne sera pas pris en compte  Ticket 00002819 On peut également spécifier un corps HTML avec un fichier HTML (voir exemple ci-dessous).

3)Ensuite, spécifions la valeur du footer :

Attention : Il ne faut pas mettre faire un retour à la ligne après le nom du .html sinon celui-ci ne sera pas pris en compte.  Ticket 00002819 Remarque : Nous pouvons également mettre des données dynamiques dans le fichier HTML en utilisant la syntaxe [[ ]] pour les indexes ou les [% %] pour les variables d’environnement. Exemple: Bonjour Mr [%NOM%],

VARIANTE 7 : ENVOI D’UN EMAIL AVEC UN CORPS HTML APPELANT UN FICHIER HTML EXTERNE AYANT DES DONNEES VARIABLES

Cette variante permet l’envoi d’un PDF par email comportant un corps HTML venant d’un fichier HTML externe. Ce fichier HTML comporte des valeurs dynamiques venant d’index du fichier XPS en entrée et de paramètres initialisés via des données du fichier d’entrée ou autre.

Prenons le workflow suivant :

1)Pour notre exemple, créons et initialisons une variable d’environnement « NOM » avec la valeur « Jérôme DIEU » 2)Pour notre exemple, créons et initialisons un index « INVOICE » avec la valeur « INV_2018050001

3)Convertissons et envoyons le PDF en utilisant le fichier HTML ayant le contenu comme ci-dessous :

Dear [%NOM%],

Please find enclosed your invoice INVOICE.

Best regards

VARIANTE 8 : ENVOI D’UN EMAIL AVEC UN CORPS HTML APPELANT UN FICHIER HTML EXTERNE DYNAMIQUE FONCTION D’UN CODE SOCIETE

Cette variante permet l’envoi d’un PDF par email comportant un corps HTML venant d’un fichier HTML externe. Ce corps HTML est variable et est basé sur le code société reçu dans le fichier d’entrée.

Prenons le workflow suivant :

1)Pour cet exemple, il faut avoir 2 fichiers HTML, un fichier HTML pour la société 1 (COMP1.html comportant le logo de la société 1 par exemple et d’autres informations unique à cette société 1) et un autre fichier HTML pour la société 2 (COMP2.html comportant le logo de la société 2 d’autres informations unique à cette société 2) 2)Pour notre exemple, créons et initialisons une variable d’environnement « COMPANY_ID » avec la valeur du code société (venant par exemple du fichier d’entrée via un rulefile) : Dans notre exemple, je l’initialise en dur à « COMP1 » 3)Ensuite, créons et initialisons une variable d’environnement « NOM » avec la valeur « Jérôme DIEU » 4)Pour notre exemple, créons et initialisons un index « INVOICE » avec la valeur « INV_2018050001

Voici l’appel du fichier HTML Le mail reçu a bien le contenu du fichier HTML comme corps

Image absente : Ticket 00002820

5)Convertissons et envoyons le PDF en utilisant le fichier HTML ayant le contenu comme ci-dessous :

Ici, le fichier HTML est appelé dynamiquement selon la valeur du COMPANY_ID.

Image absente : Ticket 00002820

REMARQUES

1)Il est possible de renseigner plusieurs destinataires en copie cachée avec chaque adresse séparée par un point-virgule « ; ».

2)Si le « HTML body » et le « Body text » de l’onglet « Mail format » sont renseignés tous les deux, seul le « HTML body » sera pris en compte.

3)Pour écrire un body il faut utiliser le body HTML (présent dans le second onglet), si on utilise le « Body text » de l’onglet « Mail format », le body sera absent.