Altova FlowForce Server 2024 Advanced Edition

La fonction send-mime envoie un e-mail aux destinataires spécifiés, généralement à l'administrateur. Avant d’utiliser cette fonction, vous devez configurer les paramètres du serveur mail. Contrairement à la fonction envoyer, le paramètre Corps de message de cette fonction vous permet de recevoir le corps du message (par exemple comme HTML) d’un stream.

 

Pour créer le stream pour le corps du message directement dans FlowForce, vous pouvez aussi appeler des fonctions d'expression comme stream-open ou stream-from-string. De même, vous pouvez utiliser des fonctions d'expression MIME pour personnaliser les en-têtes de message de l'e-mail ou de la pièce jointe. Pour éviter que l'e-mail soit envoyé dans le dossier "Poubelle" du destinataire, vous devriez constituer les en-têtes MIME de la manière autorisée par le serveur ou le programme de réception du message.

 

Afin d'obtenir un contenu HTML pour le corps de message, il est fortement recommandé d'appeler une transformation StyleVision Server qui produit une sortie HTML en tant que MIME. Pour une exemple qui affiche comment déployer une transformation StyleVision sur FlowForce Server, voir Créer une tâche depuis la transformation de StyleVision. Pour plus d'informations concernant l'intégration StyleVision Server, voir Intégration avec d'autres Serveurs Altova.

 

En soi, FlowForce Server ne collecte pas d'images, feuilles de style ou autres ressources semblables référencées par des fichiers HTML dans un stream MIME auto-contenu. Pour créer un corps de message HTML avec StyleVision Server, suivez les étapes suivantes :

 

1.Concevoir le corps HTML de l'e-mail dans Altova StyleVision. Le design peut concevoir des images et feuilles de style locales.

2.Déployer la transformation StyleVision sur FlowForce Server. Dans FlowForce, la transformation devient une fonction FlowForce intégrée qui peut être exécutée par StyleVision Server.

3.Créer une tâche qui appelle la transformation de StyleVision Server ci-dessus, assurant de sélectionner l’option GenerateHtmlOutputAsMime sur cette page de configuration de la tâche.

4.Sur la page de configuration de la tâche, appelez les fonctions d’expression de FlowForce Server pour aller chercher le stream MIME et le passer au paramètre Corps de message de la fonction send-mime (voir Exemple 1 ci-dessous).

 

Toute ressource externe référencée par le fichier HTML ne peut pas être intégrée dans le stream MIME, elle sera ajoutée comme pièce jointe à cet e-mail.

 

Paramètres

Nom

Type

Description

De

string

Paramètre obligatoire. L#adresse e-mail de l’expéditeur (par ex., flowforce@<hostname>).

À

string

Paramètre obligatoire. Adresse e-mail du destinataire. Ce champ peut aussi contenir une liste d’adresses e-mail séparées par une virgule.

Objet

string

Paramètre obligatoire. Ligne d'objet du message.

Corps de message

stream

Paramètre obligatoire. Texte du corps d’un message.

Pièce jointe

séquence d’un stream

Paramètre optionnel. La/les pièce/s jointe/s envoyée/s avec l'e-mail. Chaque pièce jointe doit être une expression FlowForce qui produit un stream. Appeler des fonctions stream pour créer des streams depuis des strings ou des fichiers. Appeler des fonctions d'expression MIME pour ajouter, modifier ou supprimer des en-têtes MIME.

Abandonner sur erreur

booléen

Paramètre optionnel. Ce paramètre détermine la sortie de la tâche dans laquelle une erreur est apparue. Si le paramètre Abandon sur erreur est true, l’exécution de la tâche sera terminée. Si le paramètre Abandon sur erreur est false, FlowForce Server ignorera les erreurs et poursuivra son exécution de la tâche. La valeur par défaut est true.

 

Exemple 1

La tâche illustrée ci-dessous invoque la fonction send-mime pour pouvoir envoyer un e-mail en format HTML.

 

Étape 1

La première étape d'exécution génère une sortie HTML en appelant une transformation StyleVision Server. Cette transformation a été conçue avec StyleVision, puis déployée sur FlowForce Server. La fonction utilise BiggesCities.xml comme fichier d’entrée. Le fichier de sortie est BiggestCitiesPerCity.html qui sera généré comme type MIME (la case à cocher GenerateHtmlOutputAsMime est sélectionnée). Le résultat de cette étape d’exécution est appelé output et sera utilisé dans la prochaine étape.

 

Étape 2

La deuxième étape d’exécution appelle la fonction compute pour calculer l’expression résultats(nth(sortie), 0) qui récupère le stream MIME du résultat généré par l’étape précédente. Le résultat de la deuxième étape est appelée message et sera utilisée dans le paramètre Corps de message dans la dernière étape d’exécution.

 

Étape 3

La troisième étape d’exécution envoie un e-mail qui contient le résultat de l’étape précédente (message) comme le coprs de message.

fs_send_mime_example1

 

Exemple 2

La tâche illustrée ci-dessous invoque la fonction send-mime pour pouvoir envoyer un e-mail en format HTML. L’e-mail contient une image en pièce jointe dans le format .png.

 

La première étape d'exécution prépare le code HTML pour le corps du message. Pour une plus grande simplicité, le code HTML dans cet exemple a été saisi directement dans le champ de texte. La manière recommandée d'obtenir la sortie HTML est d'appeler une transformation StyleVision Server, comme illustré dans l'exemple précédent. Le résultat de cette étape est un string appelé body_html et sera utilisé dans la prochaine étape.

 

La seconde étape d'exécution produit le corps de l'e-mail. La fonction stream-from-string convertit le résultat de la première étape d’exécution en un stream. L'encodage (UTF-8) et le type MIME (text/html) sont fournis en tant qu'arguments dans la fonction. Le résultat de cette étape est message de type T0 (tout type) et sera utilisé dans le corps de message de la dernière étape.

 

La troisième étape d'exécution crée la pièce jointe de l'e-mail, aussi en tant que stream. L’étape calcule l’expression suivante :

 

add-mime-header(stream-open('C:\sample.png', 'image/png'), 'Content-Disposition', 'attachment; filename=sample.png')

 

La fonction stream-open ouvre l'image en tant que stream. La fonction add-mime-header ajoute l'en-tête Content-Disposition au stream. La valeur de l’en-tête Content-Disposition est 'attachment; filename=sample.png', qui indique que sample.png peut être téléchargé et enregistré localement. Le résultat de cette étape est Pièce jointe et sera utilisé dans la dernière étape.

 

La dernière étape envoie un e-mail. La fonction send-mime utilise le résultat de la seconde étape (message) comme corps de message. Dans le paramètre Attachment, la fonction mime-content-encode est requise, car sample.png est un fichier binaire. De tels fichiers doivent être encodés comme Base64 afin d’être préservés durant la transmission.

fs_send_mime_example

Autre approche

Une autre approche relative à la tâche décrite ci-dessus est d’utiliser la fonction set-mime-content-disposition à la place de la fonction add-mime-header (troisième étape d’exécution ci-dessus). L’expression aura l’aspect suivant :

 

set-mime-content-disposition(stream-open('C:\sample.png', 'image/png'), 'attachment', 'sample.png')

 

© 2018-2024 Altova GmbH