Aller au contenu principal

Transformez chaque e-mail entrant en une archive PDF prête à être auditée grâce à Power Automate : un flux de travail Outlook en 7 étapes

· 29 minutes de lecture
SEO and Content Writer

Archive de courriel vers PDF Il s'agit d'un flux Power Automate qui se déclenche à chaque nouvel e-mail Outlook entrant, convertit le corps du message et chaque pièce jointe en PDF, les fusionne en un seul PDF consolidé horodaté et enregistre le résultat dans Dropbox pour une conservation conforme à long terme. Sept actions. Aucun code. Un fichier par e-mail : le corps en premier, puis les pièces jointes dans l'ordre. Le fichier de sortie est nommé merge-YYYYMMDD-HHmmss.pdf Ainsi, chaque entrée d'archive est triable de manière unique.

Les équipes d'audit, les responsables de la gestion des archives et les responsables de la conformité ont besoin de preuves par courriel conservées dans un format infalsifiable et consultable, résistant aux politiques de conservation d'Exchange. L'exportation native d'Outlook est manuelle, fichier par fichier, et perd les pièces jointes qui sont déplacées vers des fichiers séparés. Ce guide propose une alternative sans code : chaque courriel reçu est automatiquement converti en un seul PDF consolidé, avec l'original. .eml et les pièces jointes toujours dans Outlook pour conservation légale, mais le PDF d'archive fait office de copie de référence.

Aperçu du flux
1. When a new email arrives (V3)
Outlook trigger filtered by To address. Include Attachments Yes, Only with Attachments Yes.
2. Initialize variable
Name email, Type Array. Holds every PDF binary in order.
3. Convert to PDF Body
PDF4me action. Reads triggerOutputs body/body (the HTML body), returns the body as a PDF page 1.
4. Append to array (email body)
Pushes base64ToBinary on the converted body PDF onto the email array. Becomes page 1 of the final archive.
5. Apply to each attachment
Loops triggerOutputs body/attachments. Inside, Convert to PDF then Append to array with base64ToBinary on $content.
6. Merge multiple PDFs
PDF4me action. Body/docContent is the email array. Output File Name Email Attachment Merge Output.pdf.
7. Create file
Dropbox /blog data/merge blog template/output. File Name concat(merge-, formatDateTime(utcNow(), yyyyMMdd-HHmmss), .pdf).
La version courte

Un déclencheur Outlook s'active à chaque e-mail entrant vers une adresse surveillée. Une variable de type tableau nommée e-mail ouvre. PDF4me Convertir en PDF transforme d'abord le corps HTML en PDF (qui devient la page 1). Appliquer à chaque PDF4me parcourt chaque pièce jointe, la convertit en PDF à l'aide des moteurs de rendu Aspose Words/Cells/Slides, puis les ajoute une à une. Fusionner plusieurs fichiers PDF consomme l'ensemble du tableau et génère un seul PDF consolidé. Dropbox l'enregistre comme fusion-20260611-103323.pdfCorps du texte en premier, pièces jointes dans l'ordre, horodatées, qualité archive.

Questions et réponses basées sur le pourquoi

Pourquoi convertir au format PDF pour l'archivage au lieu d'enregistrer le fichier .eml ? Les fichiers EML nécessitent Outlook ou un lecteur compatible pour être ouverts, intègrent les pièces jointes dans un flux binaire inaccessible aux auditeurs et dépendent du formatage du client de messagerie de l'expéditeur. Un seul fichier PDF consolidé est universellement lisible, compatible avec la reconnaissance optique de caractères (OCR), inclut les pièces jointes et correspond au format de conservation exigé par la plupart des audits de découverte de preuves et des audits SOX/RGPD.

Pourquoi une seule variable de type tableau pour le corps et les pièces jointes ? L'action Fusionner plusieurs fichiers PDF requiert une collection unique et ordonnée. Initialisez-la une seule fois, ajoutez le corps du document à l'étape 4, puis chaque pièce jointe convertie à l'étape 5. Le tableau obtenu correspond ainsi à l'ordre exact des documents requis pour l'archivage (corps en premier, puis pièces jointes dans l'ordre d'envoi). Deux tableaux distincts nécessiteraient une action Composer ultérieurement pour les concaténer.

Pourquoi base64ToBinary à chaque poussée ? PDF4me Convert to PDF renvoie sa sortie sous forme de chaîne base64. $contentLes pièces jointes Outlook arrivent au format base64 sur contenuBytesLa fusion de plusieurs fichiers PDF nécessite des tampons binaires, et non des chaînes base64. base64ToBinary(...) L'appel fait transiter les deux sources, mais pointe vers des noms de propriétés différents. Ignorer la conversion et l'action de fusion génère des erreurs de « contenu invalide ».

Pourquoi un nom de sortie horodaté ? Deux courriels envoyés à la même adresse dans la même minute entreraient en conflit en raison d'un nom de fichier constant. concat('merge-', formatDateTime(utcNow(), 'yyyyMMdd-HHmmss'), '.pdf') produit des noms UTC de seconde précision comme fusion-20260611-103323.pdf: triable par ordre lexicographique, lisible instantanément et unique par nature. Les auditeurs adorent ce format.


Ce que vous obtiendrez

Saisir: Tout courriel entrant à l'adresse Outlook surveillée (ici) [email protected]) avec une ou plusieurs pièces jointes. Ce guide utilise un court corps de message (« Bonjour, j'espère que vous allez bien... ») et deux pièces jointes DOCX (3Page.docx, Docx_2Pages.docx). Sortir: Un seul PDF d'archive consolidé dans /blog data/merge blog template/output/, nommé merge-YYYYMMDD-HHmmss.pdfLa page 1 constitue le corps du texte. À partir de la page 2, chaque pièce jointe est présentée dans l'ordre, rendue à l'aide d'Aspose Words.

L'e-mail entrant

Affichage du courriel Gmail : message adressé à test, corps : Bonjour, j’espère que vous allez bien. Je vous écris pour vous informer de l’avancement du projet en cours. Vous trouverez également en pièces jointes des fichiers utiles. Cordialement, Test Dev. Deux pièces jointes apparaissent sous forme de vignettes Word : 3Page.docx et Docx_2Pages.docx. Notification « Scanné par Gmail » visible.

Le dossier d'archive après deux exécutions

Dossier d'archive Dropbox contenant les fichiers merge-20260611-103323.pdf (165,43 Ko) et merge-20260611-102949.pdf (171,37 Ko), chacun nommé d'après l'horodatage UTC de l'exécution du flux, triables par ordre lexicographique selon l'heure d'envoi.

Page 1 d'une archive PDF fusionnée

Aperçu du fichier merge-20260611-103323.pdf montrant deux pages côte à côte : la page de gauche est le corps de l’e-mail converti. Bonjour, j’espère que vous allez bien. Je vous écris pour vous informer de l’avancement du projet en cours. Vous trouverez également en pièce jointe quelques fichiers utiles. Cordialement, Test Dev. La page de droite est la première page du fichier 3Page.docx, intitulée « Page 1 ».

Ce dont vous avez besoin

  • Power Automate. Ouvrir Power Automate. Tout forfait incluant des connecteurs premium (PDF4me Connect est premium).
  • Clé API PDF4me. Obtenez votre clé APIConnectez-le la première fois que vous ajoutez une action PDF4me.
  • Office 365 OutlookPour le déclencheur V3 « À l’arrivée d’un nouvel e-mail » et la lecture du contenu des pièces jointes (en octets), toute boîte de réception compatible avec le connecteur fonctionne.
  • Dropbox (ou SharePoint, OneDrive, Google Drive). Pour la destination des archives.
  • Un courriel de test avec pièces jointes. La démonstration utilise deux exemples DOCX. 3Page.docx et Docx_2Pages.docx.

Commencez par récupérer les échantillons et le résultat attendu. Téléchargez les deux fichiers DOCX, joignez-les à un courriel rapide à l'adresse surveillée, puis publiez le flux. Votre première exécution devrait produire un fusion-AAAAMMJJ-HHmmss.pdf qui reproduit exactement l'échantillon lié (seul l'horodatage diffère).


Aperçu du flux

  1. Outlook : Lorsqu’un nouveau courriel arrive (V3) (déclenchement).
  2. Variable d'initialisation nommé email (Tableau).
  3. PDF4me : Convertir en PDF (Corps)Lit le corps HTML et renvoie un PDF.
  4. Ajouter à la variable de tableau avec base64ToBinary sur la carrosserie transformée.
  5. Appliquer à chaque sur triggerOutputs()?['body/attachments']:
    • PDF4me : Convertir en PDF la pièce jointe.
    • Ajouter à la variable de tableau avec base64ToBinary sur le PDF converti.
  6. PDF4me : Fusionner plusieurs fichiers PDF en un seul fichier PDFTableau en entrée, un PDF en sortie.
  7. Dropbox : Créer un fichierL'expression Nom de fichier horodatée en UTC.

Aperçu complet du flux

Canevas de flux Power Automate affichant sept actions empilées de haut en bas : À la réception d’un nouvel e-mail (V3), Initialiser la variable, Convertir en PDF, Ajouter au tableau (corps de l’e-mail), Appliquer à chaque élément contenant « Convertir en PDF » et « Ajouter au tableau », Fusionner plusieurs fichiers PDF en un seul, Créer le fichier

Sept actions. PDF4me intervient trois fois dans le flux : conversion du corps du document, conversion de chaque pièce jointe, fusion de l’ensemble.

Champs de pièces jointes Outlook (référence)

Perspectives Lorsqu'un nouvel e-mail arrive V3 Le déclencheur expose ces champs de pièces jointes que vous mappez dans le convertisseur :

ChampTaperExpression sourceCe qu'il contient
namechaîneitems('Apply_to_each')?['name']Nom de fichier d'origine avec extension (Invoice.docx)
contentByteschaîne de base64items('Apply_to_each')?['contentBytes']Contenu binaire de la pièce jointe, encodé en base64
contentTypechaîneitems('Apply_to_each')?['contentType']type MIME (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
sizeentieritems('Apply_to_each')?['size']Octets, utiles pour filtrer les pièces jointes volumineuses
isInlinebooléenitems('Apply_to_each')?['isInline']Vrai pour les images intégrées au corps du texte ; généralement filtrées.

PDF4me Convert to PDF lit l'extension de fichier. name pour choisir le bon moteur de rendu (.docx → Aspose Words, .xlsx → Aspose Cells, .pptx → Aspose Slides, images et PDF gérés nativement).


Étape 1 : Comment surveiller une boîte de réception Outlook pour les courriels entrants ?

Flux jusqu'à présent : Déclencheur uniquement.

  1. Dans Power Automate cliquez Créer, choisir Flux cloud automatisé.
  2. Nommez le flux (par exemple, Email Archive to PDF), prendre Office 365 Outlook : Lorsqu’un nouveau courriel arrive (V3) comme déclencheur, cliquez Créer.
  3. Connecter Votre boîte aux lettres Office 365.
  4. Développer Paramètres avancés et cliquez Afficher tout pour afficher les options de filtrage.
  5. Configure:
    • À: [email protected] (Filtrer pour que seul le courrier adressé à cette adresse déclenche le flux)
    • Joindre les pièces jointes: Yes
    • Uniquement avec pièces jointes: Yes

Configuration du déclencheur

Déclencheur Power Automate Office 365 Outlook : à la réception d’un nouvel e-mail (V3). Paramètres avancés développés. Paramètre : test@ynoox.ch. Inclure les pièces jointes : oui. Uniquement avec pièces jointes : oui. Connecté à Office 365 Outlook.

Conseil. Uniquement avec pièces jointes Oui c'est ce qui empêche le flux de se déclencher à chaque notification interne, invitation de calendrier ou réponse automatique. À combiner avec un À filtre sur un alias d'archive dédié (par exemple, [email protected]) pour une adresse de réception propre qui ne reçoit que le courrier que vous souhaitez réellement archiver.


Étape 2 : Initialiser la variable email

Flux jusqu'à présent : Déclencheur plus initialisation de la variable.

Ouvrez un tableau vide pour collecter le PDF principal et toutes les pièces jointes PDF.

  1. Cliquez + Nouvelle étape, prendre Variable d'initialisation.
  2. Configure:
    • Nom: email
    • Taper: Array
    • Valeur: laisser vide

Initialiser la configuration des variables

Action d'initialisation de variable Power Automate configurée avec le nom email et le type Tableau et un champ Valeur vide

Étape 3 : Comment PDF4me convertit-il le corps de l’e-mail en PDF ?

Flux jusqu'à présent : Déclencheur + Initialisation de variable + Conversion en corps PDF.

Le déclencheur Outlook émet le corps du message au format HTML sur body/bodyPDF4me Convert to PDF lit directement le HTML, la conversion complète se résume donc à un seul appel d'action.

  1. Cliquez + Nouvelle étape, recherche PDF4me, prendre Convertir en PDF.
  2. Rebaptiser l'action à Convertir en corps de PDF L'action « Convertir en PDF » de l'étape 5 reçoit donc ultérieurement un nom plus clair.
  3. Connecter PDF4me Connectez-vous avec votre clé API (première fois uniquement).
  4. Configure:
    • Contenu du fichier (expression, clic) fx): triggerOutputs()?['body/body']
    • Nom de fichier: email-body.html

Convertir en configuration du corps PDF

Action Power Automate PDF4me Convertir en corps de fichier PDF avec le contenu du fichier défini sur le jeton de déclenchement Corps (expression triggerOutputs body/body) et le nom de fichier email-body.html, connecté à PDF4me Connect

Le .html L'extension du nom de fichier indique à PDF4me quel moteur de rendu utiliser. Envoyer .docx, .xlsx, .png, ou .jpg La même action permet de les régler tout aussi facilement.


Étape 4 : Ajouter au tableau de variables (corps de l’e-mail)

Flux jusqu'à présent : Déclencheur plus Initialiser la variable plus Convertir en corps PDF plus Ajouter (corps de l'e-mail).

Déplacez le PDF converti du corps sur le email tableau comme page 1.

  1. Cliquez + Nouvelle étape, prendre Ajouter à la variable de tableau.
  2. Rebaptiser l'action à Ajouter à la variable de tableau (corps de l'e-mail) pour plus de clarté.
  3. Configure:
    • Nom: email
    • Valeur (expression): base64ToBinary(body('Convert_to_PDF_Body')?['$content'])

Ajouter la configuration du corps de l'e-mail

Action Power Automate « Ajouter à une variable de tableau (corps de l'e-mail) » avec le nom « e-mail » et la valeur définie sur l'expression « base64ToBinary body » (guillemet ouvrant Convert_to_PDF_Body) (guillemet fermant, parenthèse fermante, question, dollar, contenu fermant, crochet affiché dans l'éditeur d'expressions)

Étape 5 : Comment parcourir chaque pièce jointe et convertir chacune d’elles ?

Flux jusqu'à présent : Déclencher plus Initialiser la variable plus Convertir en corps PDF plus Ajouter (corps de l'e-mail) plus Appliquer à chaque.

Parcourez chaque pièce jointe, convertissez-la en PDF et ajoutez-les tour à tour afin que la fusion finale respecte l'ordre des pièces jointes.

Étape 5a : Appliquer à chaque (choisir la source)

  1. Cliquez + Nouvelle étape, prendre Appliquer à chaque.
  2. Configure:
    • Sélectionnez une sortie parmi les étapes précédentes (expression): triggerOutputs()?['body/attachments']
Power Automate : Appliquer à chaque action avec Sélectionner une sortie des étapes précédentes définie sur le jeton Pièces jointes, expression résolue triggerOutputs body/attachments affiché dans l'infobulle

Étape 5b : Convertir au format PDF (pièce jointe)

  1. À l'intérieur de la boucle, cliquez Ajouter une action, prendre PDF4me : Convertir en PDF.
  2. Configure:
    • Contenu du fichier (expression): base64ToBinary(items('Apply_to_each')?['contentBytes'])
    • Nom de fichier (contenu dynamique) : sélectionner nom à partir de la section « Appliquer à chaque élément actuel »
Dans l'action « Convertir en PDF » de Power Automate, l'option « Appliquer à chaque élément » définit le contenu du fichier sur « base64ToBinary items Apply_to_each contentBytes », et le nom du fichier sur le jeton de nom de la pièce jointe actuelle. L'éditeur d'expressions est ouvert et affiche les éléments « base64ToBinary items Apply_to_each contentBytes ».

Le nom Le jeton de contenu dynamique est résolu lors de l'exécution en items('Apply_to_each')?['name']Ainsi, chaque pièce jointe est convertie en utilisant son nom de fichier d'origine. PDF4me lit l'extension pour choisir le moteur de rendu approprié.

L'infobulle du champ Nom du fichier PDF de Power Automate affiche les éléments d'expression résolus : Apply_to_each name, name token de Apply to each current attachment

Étape 5c : Ajouter à la variable de tableau (la pièce jointe convertie)

  1. Ci-dessous, convertir en PDF à l'intérieur de la même boucle, Ajouter une action, prendre Ajouter à la variable de tableau.
  2. Configure:
    • Nom: email
    • Valeur (expression): base64ToBinary(body('Convert_to_PDF')?['$content'])
Power Automate : Ajouter à une variable de tableau dans Appliquer à chaque, Nom email, Valeur définie sur base64ToBinary body Convert_to_PDF dollar contenu affiché dans l'éditeur d'expressions

Les deux noms de propriété sont importants. Les octets de la pièce jointe Outlook sont disponibles sur contenuBytesPDF4me Convert to PDF output est disponible sur $contentLes deux expressions sont au format base64. Veillez à bien respecter les noms lorsque vous les collez, et la boucle fonctionnera sans problème.


Étape 6 : Fusionner plusieurs fichiers PDF en une seule archive PDF

Flux jusqu'à présent : Déclencher plus Initialiser la variable plus Convertir en corps PDF plus Ajouter (corps) plus Appliquer à chaque plus Fusionner plusieurs PDF.

L'ensemble email Le tableau (le PDF du corps en premier, puis les PDF des pièces jointes dans l'ordre des pièces jointes) est traité par un seul appel Merge.

  1. Sous le bouton Appliquer à chaque boucle + Nouvelle étape, recherche PDF4me, prendre Fusionner plusieurs fichiers PDF en un seul fichier PDF.
  2. Configure:
    • Corps/docContenu: choisissez le email jeton variable
    • Nom du fichier de sortie: Email Attachment Merge Output.pdf

Configuration de l'action de fusion

Action Power Automate PDF4me Fusionner plusieurs fichiers PDF en un seul fichier PDF avec Body/docContent défini sur la variable email et Nom du fichier de sortie Email Attachment Merge Output.pdf

Étape 7 : Pourquoi un nom de fichier horodaté pour l’archive ?

Flux jusqu'à présent : Déclencher plus Initialiser la variable plus Convertir en corps PDF plus Ajouter plus Appliquer à chaque plus Fusionner plus Créer un fichier.

Enregistrez le PDF consolidé sur Dropbox avec un nom de fichier horodaté UTC afin que chaque entrée d'archive soit un fichier distinct et triable. L'envoi de deux courriels à la même adresse au même instant étant suffisamment rare, cette méthode garantit une unicité efficace sans qu'il soit nécessaire d'y intégrer les identifiants des messages.

  1. Cliquez + Nouvelle étape, prendre Dropbox : Créer un fichier.
  2. Configure:
    • Chemin du dossier: /blog data/merge blog template/output
    • Nom de fichier (expression, clic) fx): concat('merge-', formatDateTime(utcNow(), 'yyyyMMdd-HHmmss'), '.pdf')
    • Contenu du fichier: choisissez le Contenu du fichier jeton de l'action Fusionner plusieurs PDF

Expression du nom de fichier

Power Automate Dropbox Créer un fichier action Chemin du dossier /blog data/merge blog template/output, Nom du fichier expression concat merge dash comma formatDateTime utcNow comma yyyyMMdd dash HHmmss comma dot pdf affiché dans l'éditeur d'expressions

Action finale avec le contenu du fichier mappé

Action Power Automate Dropbox Créer un fichier avec le chemin du dossier /blog data/merge blog template/output, l'expression de concaténation du nom de fichier et le jeton de contenu du fichier provenant de l'action Fusionner plusieurs fichiers PDF en un seul fichier PDF

Astuce pour les boîtes de réception très volumineuses. Pour les boîtes aux lettres recevant plus de 10 courriels par minute, ajoutez un court hachage de l'identifiant de message Internet (IMD) pour garantir son unicité : concat('merge-', formatDateTime(utcNow(), 'yyyyMMdd-HHmmss'), '-', substring(triggerOutputs()?['body/internetMessageId'], 0, 8), '.pdf')Piste d'audit toujours lisible, collisions impossibles.


Exécutez le flux et vérifiez

  1. Sauvegarder le flux en haut à droite.
  2. Envoyez un message électronique avec une ou plusieurs pièces jointes à l'adresse surveillée.
  3. Ouvrir Historique des coursesLe déclencheur devrait s'activer en quelques secondes.
  4. Ouvrez Dropbox à /blog data/merge blog template/output/Un fichier nommé merge-YYYYMMDD-HHmmss.pdf y a-t-il.
  5. Ouvrez le PDF. La page 1 contient le texte principal. Les pages suivantes contiennent chaque pièce jointe, affichée intégralement et dans l'ordre.

Qu'avez-vous construit concrètement ? Un processus d'archivage automatique des e-mails. Chaque message avec pièces jointes est converti en un seul PDF consolidé : le corps du message en premier, puis les pièces jointes dans l'ordre, horodatés pour éviter les conflits, puis déposés dans un dossier partagé accessible à votre équipe de gestion des archives ou à vos auditeurs. Ce processus fonctionne aussi bien avec deux qu'avec vingt pièces jointes.


Variantes courantes que vous pouvez ajouter sans reconstruction

Filtrer les pièces jointes par type
Convertir en PDF dans un Condition tests endsWith(toLower(items('Apply_to_each')?['name']), '.pdf')Ignore les signatures électroniques et les pièces jointes d'images intégrées.
Inscrire les métadonnées sur la page 1
Avant l'étape 3, créez un préambule HTML avec ComposerExpéditeur, objet, date de réception. La page 1 comporte désormais un en-tête permettant la recherche.
Signature numérique avant archivage
Insérer PDF4me Signature numérique PDF Entre l'étape 6 et l'étape 7, le PDF archivé est contresigné avec votre certificat X.509, ce qui constitue une piste d'audit instantanée. Qui a archivé quoi et quand ?.
PDF/A pour la conservation à long terme
Ajouter PDF4me Créer un PDF/A en conformité PDF/A-2b Après la fusion, le PDF archivé est conforme à la norme ISO 19005 et peut être soumis à une obligation de conservation légale et à une soumission aux autorités réglementaires.

Archivage des courriels : PDF ou EML

AspectPDF consolidé (ce flux)Exportation EML brute
Universellement lisibleOui, n'importe quel lecteur PDFNon, Outlook ou un client compatible est nécessaire.
Recherche par contenuOui, compatible avec la reconnaissance optique de caractères (OCR).Édition limitée, corps uniquement
Accessoires inclusOui, en ligne comme des pagesOui, sous forme de flux binaire
Correspondance du format d'auditSOX, RGPD, HIPAA, FINRA acceptentSouvent rejeté
InviolableOui, si l'affichage numérique était ajoutéModifiable facilement dans n'importe quel éditeur
Taille du fichierPlus grand (toutes les pages rendues)Plus petit (pas de rendu)
pipeline de rétentionUn PDF par e-mail, facile à chaînerEML nécessite un format de conteneur

Questions fréquentes

Comment déclencher ce flux sur une boîte aux lettres partagée plutôt que sur une boîte de réception personnelle ?

Remplacez le Lorsqu'un nouvel e-mail arrive (V3) déclencher avec Lorsqu'un nouvel e-mail arrive dans une boîte aux lettres partagée (V2). Transmettez l'adresse de la boîte aux lettres comme Adresse de boîte aux lettres d'origine Le reste du flux demeure identique ; chaque référence de pièce jointe et chaque expression de corps sont résolues de la même manière.

Que se passe-t-il si un courriel ne contient aucune pièce jointe ?

Le déclencheur Uniquement avec pièces jointes Oui Le filtre empêche le flux de se déclencher pour les e-mails ne contenant que le corps du message. Si vous souhaitez également archiver les e-mails ne contenant que le corps du message, définissez ce filtre sur Non et placez la boucle Appliquer à chaque élément dans une condition : ne l'exécuter que lorsque length(triggerOutputs()?['body/attachments']) est supérieur à zéro. L'opération de fusion fonctionnera tout de même avec un seul fichier PDF du tableau, produisant une archive d'une seule page.

Comment puis-je inclure l'expéditeur, l'objet et la date de réception sur la page 1 de l'archive ?

Avant l'étape 3, ajoutez un Composer action avec un préambule HTML :

<h2>From: @{triggerOutputs()?['body/from']}</h2>
<h2>Subject: @{triggerOutputs()?['body/subject']}</h2>
<p>Received: @{triggerOutputs()?['body/receivedDateTime']}</p>
<hr>
@{triggerOutputs()?['body/body']}

Ensuite, orientez le contenu du fichier de l'étape 3 vers la sortie de composition. La page 1 contient désormais des métadonnées d'en-tête consultables.

Cela fonctionnera-t-il avec les e-mails HTML contenant des images intégrées ?

Oui. PDF4me Convert to PDF génère du HTML avec du contenu intégré. <img src="cid:..."> Références et images base64 intégrées. Outlook body/body Il inclut le code HTML complet avec le contenu intégré, de sorte que le PDF généré préserve la fidélité visuelle de ce que le destinataire a vu.

Combien de temps dure l'écoulement ?

Environ 10 à 15 secondes par pièce jointe pour un fichier DOCX d'une page, plus 5 à 10 secondes pour le déclencheur et le chargement final. Un e-mail classique avec deux pièces jointes est traité en 35 à 45 secondes. Par défaut, la fonction « Appliquer à chaque » de Power Automate exécute les tâches séquentiellement pour un résultat ordonné ; si l'ordre n'a pas d'importance et que vous privilégiez la rapidité, configurez-la. Contrôle de la concurrence à 20 dans les paramètres de la boucle.


Dépannage

Fusionner les erreurs d'action avec « contenu invalide »

L'un des éléments Ajouter au tableau Valeur les expressions ne sont pas enveloppées dans base64ToBinary(...)Chaque envoi (corps et pièces jointes) nécessite une conversion. Rouvrez les deux actions Ajouter, passez à l'éditeur d'expressions et vérifiez que les expressions sont correctes. base64ToBinary(body('Convert_to_PDF_Body')?['$content']) et base64ToBinary(body('Convert_to_PDF')?['$content']) textuellement.

La page 1 est blanche ou manquante.

L'action « Convertir en corps PDF » n'a pas reçu de code HTML valide. Vérifiez le déclencheur. Joindre les pièces jointes est resté Oui (sans cela, le corps arrive parfois vide) et cela Contenu du fichier se résout à triggerOutputs()?['body/body'], pas aperçu du corps.

Les pièces jointes apparaissent dans le désordre.

La valeur par défaut Appliquer à chaque Les opérations s'exécutent en parallèle, ce qui peut perturber l'ordre d'ajout. Ouvrez la boucle. Paramètres et ensemble Contrôle de la concurrence Degré de parallélisme à 1La boucle s'exécute désormais de manière séquentielle et les pièces jointes sont déposées dans l'ordre du tableau.

Des fichiers entrent en conflit dans le dossier d'archive

La résolution de l'horodatage est d'une seconde. Pour les boîtes de réception à volume élevé, ajoutez le hachage de l'identifiant de message Internet : concat('merge-', formatDateTime(utcNow(), 'yyyyMMdd-HHmmss'), '-', substring(triggerOutputs()?['body/internetMessageId'], 0, 8), '.pdf').


Prochaines étapes

Le même schéma en sept étapes (déclenchement, initialisation du tableau, conversion du corps, boucle de conversion et d'ajout, fusion, puis enregistrement avec horodatage) fonctionne pour toute automatisation de type « e-mail et pièces jointes dans un PDF ». Envoyez-en un, et chaque message entrant sera automatiquement transformé en une entrée d'archive consultable, triable et prête pour l'audit.