Passa al contenuto principale

Trasforma ogni email in arrivo in un archivio PDF pronto per la verifica con Power Automate: un flusso di lavoro di Outlook in 7 fasi

· 28 minuti di lettura
SEO and Content Writer

Archivio da email a PDF È un flusso di Power Automate che si attiva per ogni nuova email in arrivo da Outlook, converte il corpo del messaggio e ogni allegato in PDF, li unisce in un unico PDF consolidato con data e ora e salva il risultato su Dropbox per la conservazione a lungo termine ai fini della conformità. Sette azioni. Nessun codice. Un file per email, prima il corpo e poi gli allegati in ordine. L'output è denominato merge-YYYYMMDD-HHmmss.pdf quindi ogni voce dell'archivio è ordinabile in modo univoco.

I team di audit, i responsabili della gestione dei documenti e i responsabili della conformità hanno bisogno di prove via e-mail conservate in un formato a prova di manomissione e ricercabile che resista alle politiche di conservazione di Exchange. L'esportazione nativa di Outlook è manuale, file per file, e perde gli allegati in file separati. Questa procedura guidata crea l'alternativa senza codice: ogni e-mail ricevuta diventa automaticamente un singolo PDF consolidato, con l'originale .eml e gli allegati sono ancora in Outlook per motivi di conservazione legale, ma il PDF di archivio costituisce la copia ufficiale dei documenti.

Il flusso in sintesi
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 versione breve

Il trigger di Outlook si attiva per ogni email in arrivo a un indirizzo monitorato. Una variabile array denominata e-mail si apre. PDF4me Converti in PDF trasforma prima il corpo HTML in PDF (diventa pagina 1). Applicare a ciascuno Analizza ogni allegato, lo converte in PDF utilizzando i renderer di Aspose Words/Cells/Slides e lo aggiunge in sequenza. PDF4me Unire più file PDF consuma l'intero array ed emette un PDF consolidato. Dropbox lo scrive come merge-20260611-103323.pdfPrima il corpo del testo, poi gli allegati in ordine, con data e ora, qualità da archivio.

Domande e risposte basate sul "perché"

Perché convertire in PDF per l'archiviazione invece di salvare il file .eml? I file EML richiedono Outlook o un lettore compatibile per essere aperti, incorporano allegati in un flusso binario che i revisori non possono analizzare e dipendono dalla formattazione del client di posta del mittente. Un singolo file PDF consolidato è universalmente leggibile, compatibile con l'OCR, include gli allegati e corrisponde al formato di conservazione richiesto dalla maggior parte delle verifiche di discovery legale e SOX/GDPR.

Perché utilizzare un'unica variabile array per il corpo del corpo e gli allegati? L'azione "Unisci più file PDF" richiede una singola raccolta ordinata. Inizializzandola una sola volta, inviando il corpo del documento al passaggio 4, inviando ciascun allegato convertito al passaggio 5, l'array avrà esattamente l'ordine dei documenti richiesto dall'archivio (prima il corpo del documento, poi gli allegati nell'ordine di invio). Due array separati richiederebbero un'azione "Componi" in un secondo momento solo per concatenarli.

Perché base64ToBinary ad ogni spinta? PDF4me Convert to PDF restituisce il suo output come stringa base64 su $contentGli allegati di Outlook arrivano come base64 su contentBytes. Unire più file PDF richiede buffer binari, non stringhe base64. Lo stesso base64ToBinary(...) La chiamata collega entrambe le fonti, ma punta a nomi di proprietà diversi. Salta la conversione e l'azione di unione che genera errori con "contenuto non valido".

Perché un nome di output con timestamp? Due email inviate allo stesso indirizzo nello stesso minuto entrerebbero in conflitto a causa dello stesso nome file. concat('merge-', formatDateTime(utcNow(), 'yyyyMMdd-HHmmss'), '.pdf') produce nomi UTC di seconda precisione come merge-20260611-103323.pdfOrdinabile lessicograficamente, immediatamente leggibile e unico per sua stessa natura. I revisori dei conti adorano questo formato.


Cosa riceverai

Ingresso: Qualsiasi email in arrivo all'indirizzo Outlook monitorato (qui) [email protected]) con uno o più allegati. Questa procedura guidata utilizza un corpo del messaggio breve ("Ciao, spero che tu stia bene...") e due allegati DOCX (3Page.docx, Docx_2Pages.docx). Produzione: Un unico archivio consolidato in PDF in /blog data/merge blog template/output/, chiamato merge-YYYYMMDD-HHmmss.pdfLa pagina 1 è il corpo del documento. Dalla pagina 2 in poi, ogni allegato è presente nell'ordine di allegato, visualizzato tramite Aspose Words.

L'e-mail in arrivo

Visualizzazione email di Gmail con messaggio indirizzato a test, corpo Ciao Spero che tu stia bene Ti scrivo per informarti sui progressi del progetto in corso Sono allegati anche alcuni file correlati per tua consultazione Cordiali saluti Test Dev, due allegati visualizzati come miniature di documenti Word 3Page.docx e Docx_2Pages.docx, Scansionato da Gmail avviso visibile

La cartella di archivio dopo due esecuzioni

Elenco delle cartelle di archivio di Dropbox merge-20260611-103323.pdf (165,43 KB) e merge-20260611-102949.pdf (171,37 KB), ciascuna denominata in base al timestamp UTC in cui è stato eseguito il flusso, ordinabile lessicograficamente per ora di invio.

Pagina 1 di un file PDF di archivio unito

Anteprima di merge-20260611-103323.pdf che mostra due pagine affiancate, la pagina di sinistra è il corpo dell'email convertito Ciao Spero che tu stia bene Ti scrivo per informarti sui progressi del progetto in corso Sono allegati anche alcuni file correlati per tuo riferimento Cordiali saluti Test Dev, la pagina di destra è la prima pagina di 3Page.docx etichettata Pagina 1

Di cosa hai bisogno

  • Power Automate. Open Power AutomateQualsiasi piano con connettori premium (PDF4me Connect è un piano premium).
  • Chiave API di PDF4me. Ottieni la tua chiave APICollegalo la prima volta che aggiungi un'azione PDF4me.
  • Outlook di Office 365. Per il trigger V3 "Quando arriva una nuova email" e per leggere i byte di contenuto dell'allegato. Funziona con qualsiasi casella di posta con cui il connettore può autenticarsi.
  • Dropbox (oppure SharePoint, OneDrive, Google Drive). Per la destinazione dell'archivio.
  • Un'email di prova con allegatiLa procedura guidata utilizza due file DOCX di esempio. 3Page.docx E Docx_2Pagine.docx.

Prendi prima i campioni e l'output previsto. Scarica entrambi i file DOCX, allegali a una breve email al tuo indirizzo monitorato, quindi pubblica il flusso. La tua prima esecuzione dovrebbe produrre un merge-YYYYMMDD-HHmmss.pdf che rispecchia esattamente l'esempio collegato (solo la data e l'ora differiscono).


Il flusso in sintesi

  1. Outlook: Quando arriva una nuova email (V3) (grilletto).
  2. Inizializza variabile denominato email (Vettore).
  3. PDF4me: Converti in PDF (Corpo)Legge il corpo HTML e restituisce un PDF.
  4. Aggiungi alla variabile array con base64ToBinary sul corpo convertito.
  5. Applicare a ciascuno SU triggerOutputs()?['body/attachments']:
    • PDF4me: Converti in PDF l'allegato.
    • Aggiungi alla variabile array con base64ToBinary sul PDF convertito.
  6. PDF4me: Unisci più file PDF in un unico file PDF. Array in ingresso, un PDF in uscita.
  7. Dropbox: crea fileL'espressione del nome del file aggiunge il timestamp UTC.

Panoramica completa del flusso

Canvas del flusso di Power Automate che mostra sette azioni impilate dall'alto verso il basso: Quando arriva una nuova email V3, Inizializza variabile, Converti in corpo PDF, Aggiungi alla variabile array (corpo email), Applica a ciascuno contenente Converti in PDF e Aggiungi alla variabile array, Unisci più file PDF in un singolo file PDF, Crea file

Sette azioni. PDF4me si inserisce nel flusso in tre fasi: converti il corpo del documento, converti ogni allegato e unisci tutto.

Campi allegati di Outlook (riferimento)

La prospettiva Quando arriva una nuova email V3 Il trigger espone i seguenti campi allegati che vengono mappati nel convertitore:

CampoTipoEspressione sorgenteCosa trasporta
namecordaitems('Apply_to_each')?['name']Nome del file originale inclusa l'estensione (Invoice.docx)
contentBytesstringa base64items('Apply_to_each')?['contentBytes']Contenuto binario dell'allegato, codificato in base64
contentTypecordaitems('Apply_to_each')?['contentType']tipo MIME (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
sizeinteroitems('Apply_to_each')?['size']Byte, utili per filtrare gli allegati di grandi dimensioni
isInlinebooleanoitems('Apply_to_each')?['isInline']Vero per le immagini inline incorporate nel corpo; solitamente filtrate

PDF4me Convert to PDF legge l'estensione del file name per scegliere il renderer giusto (.docx → Asporre parole, .xlsx → Asporre le cellule, .pptx → Aspose gestisce in modo nativo presentazioni, immagini e PDF.


Passaggio 1: Come si monitora la posta in arrivo nella casella di posta di Outlook?

Flusso finora: Solo attivazione.

  1. In Power Automate clic Creare, scegliere Flusso di nuvole automatizzato.
  2. Assegna un nome al flusso (ad esempio Email Archive to PDF), scegliere Office 365 Outlook: Quando arriva una nuova email (V3) come trigger, fai clic Creare.
  3. Collegare La tua casella di posta di Office 365.
  4. Espandi Parametri avanzati e clicca Mostra tutto per mostrare le opzioni di filtro.
  5. Specificare:
    • A: [email protected] (filtra in modo che solo la posta indirizzata a questo indirizzo attivi il flusso)
    • Includi allegati: Yes
    • Solo con allegati: Yes

Configurazione del trigger

Power Automate Office 365 Outlook Quando arriva una nuova email Trigger V3 Parametri avanzati espansi che mostrano Da impostare su test@ynoox.ch, Includi allegati Sì, Solo con allegati Sì, Connesso a Office 365 Outlook

Mancia. Solo con allegati Sì è ciò che impedisce al flusso di attivarsi ad ogni notifica interna, invito del calendario o risposta automatica. Combina con un A filtra su un alias di archivio dedicato (ad esempio [email protected]) per un indirizzo di posta pulito che riceve solo la posta che si desidera effettivamente archiviare.


Passaggio 2: Inizializza l'email variabile

Flusso finora: Attiva più Inizializza variabile.

Apri un array vuoto per raccogliere il corpo del PDF e tutti i PDF allegati.

  1. Fare clic + Nuovo passo, scegliere Inizializza variabile.
  2. Specificare:
    • Nome: email
    • Tipo: Array
    • Valore: lasciare vuoto

Inizializza la configurazione variabile

Azione di inizializzazione variabile di Power Automate configurata con Nome email e Tipo Array e un campo Valore vuoto

Passaggio 3: Come fa PDF4me a convertire il corpo dell'email in PDF?

Flusso finora: Attiva più Inizializza variabile più Converti in corpo PDF.

Il trigger di Outlook emette il corpo del messaggio come HTML su body/bodyPDF4me Convert to PDF legge direttamente l'HTML, quindi l'intera conversione viene eseguita con una sola chiamata di azione.

  1. Fare clic + Nuovo passo, ricerca PDF4me, scegliere Converti in PDF.
  2. Rinominare l'azione per Converti in corpo PDF Quindi, l'azione "Converti in PDF" del passaggio 5 riceverà in seguito un nome univoco.
  3. Collegare PDF4me Connettiti con la tua chiave API (solo la prima volta).
  4. Specificare:
    • Contenuto del file (espressione, clic) fx): triggerOutputs()?['body/body']
    • Nome del file: email-body.html

Converti in PDF Configurazione del corpo

Azione Power Automate PDF4me Converti in PDF Corpo con Contenuto file impostato sul token di attivazione Corpo (espressione triggerOutputs body/body) e Nome file email-body.html, Connesso a PDF4me Connect

IL .html L'estensione del nome del file indica a PDF4me quale renderer utilizzare. Invia .docx, .xlsx, .png, O .jpg Con la stessa facilità, la stessa azione li gestisce tutti.


Passaggio 4: Aggiungere alla variabile array (corpo dell'e-mail)

Flusso finora: Attiva più Inizializza variabile più Converti in corpo PDF più Aggiungi (corpo dell'email).

Spingi il corpo PDF convertito sul email array come pagina 1.

  1. Fare clic + Nuovo passo, scegliere Aggiungi alla variabile array.
  2. Rinominare l'azione per Aggiungi alla variabile array (corpo dell'email) per chiarezza.
  3. Specificare:
    • Nome: email
    • Valore (espressione): base64ToBinary(body('Convert_to_PDF_Body')?['$content'])

Aggiungi la configurazione del corpo dell'email

Azione Power Automate Aggiungi alla variabile array (corpo dell'email) con Nome email e Valore impostato sull'espressione base64ToBinary corpo apri virgolette Convert_to_PDF_Body chiudi virgolette chiudi parentesi interrogativa dollaro contenuto chiudi parentesi mostrata nell'editor di espressioni

Passaggio 5: Come si fa a scorrere tutti gli allegati e a convertirli uno per uno?

Flusso finora: Attiva più Inizializza variabile più Converti in corpo PDF più Aggiungi (corpo email) più Applica a ciascuno.

Scorri tutti gli allegati, convertili in PDF e aggiungili uno alla volta in modo che l'unione finale rispetti l'ordine degli allegati.

Passaggio 5a: Applicare a ciascuno (selezionare la fonte)

  1. Fare clic + Nuovo passo, scegliere Applicare a ciascuno.
  2. Specificare:
    • Seleziona un output dai passaggi precedenti (espressione): triggerOutputs()?['body/attachments']
Power Automate Applica a ogni azione con Seleziona un output dai passaggi precedenti impostato sul token Allegati, trigger dell'espressione risolta Corpo/allegati degli output mostrati nel tooltip

Passaggio 5b: Convertire in PDF (l'allegato)

  1. All'interno del ciclo fai clic Aggiungi un'azione, scegliere PDF4me: Converti in PDF.
  2. Specificare:
    • Contenuto del file (espressione): base64ToBinary(items('Apply_to_each')?['contentBytes'])
    • Nome del file (contenuto dinamico): scegli nome da Applica a ogni elemento corrente
Azione Power Automate Converti in PDF all'interno di Applica a ciascuno, Contenuto file impostato su elementi base64ToBinary Apply_to_each contentBytes, Nome file impostato sul token del nome dall'allegato corrente, editor di espressioni aperto che mostra elementi base64ToBinary Apply_to_each contentBytes

IL nome Il token dynamic-content si risolve in fase di esecuzione in items('Apply_to_each')?['name']Pertanto, ogni allegato viene convertito utilizzando il suo nome file originale. PDF4me legge l'estensione per scegliere il renderer corretto.

Suggerimento nel campo Nome file di Power Automate Converti in PDF che mostra gli elementi dell'espressione risolta Nome Apply_to_each, token del nome da Applica a ogni allegato corrente

Passaggio 5c: Aggiungere alla variabile array (l'allegato convertito)

  1. Di seguito Converti in PDF all'interno dello stesso ciclo, Aggiungi un'azione, scegliere Aggiungi alla variabile array.
  2. Specificare:
    • Nome: email
    • Valore (espressione): base64ToBinary(body('Convert_to_PDF')?['$content'])
Power Automate Aggiungi alla variabile array all'interno Applica a ciascuno, Nome email, Valore impostato su base64ToBinary corpo Converti_in_PDF contenuto in dollari mostrato nell'editor di espressioni

I nomi di entrambe le proprietà sono importanti. I byte degli allegati di Outlook sono attivi contentBytes. L'output di PDF4me Convert to PDF è disponibile $contentEntrambi sono in base64. Mantieni i nomi corretti quando incolli le espressioni e il ciclo funzionerà senza problemi.


Passaggio 6: Unire più file PDF in un unico archivio PDF

Flusso finora: Attiva più Inizializza variabile più Converti in corpo PDF più Aggiungi (corpo) più Applica a ciascuno più Unisci più PDF.

L'intero email L'array (prima il PDF del corpo del messaggio, poi i PDF degli allegati nell'ordine di allegato) viene elaborato da un'unica chiamata Merge.

  1. Sotto "Applica a ogni ciclo" fai clic + Nuovo passo, ricerca PDF4me, scegliere Unire più file PDF in un unico file PDF.
  2. Specificare:
    • Corpo/docContenuto: scegli il email token variabile
    • Nome del file di output: Email Attachment Merge Output.pdf

Configurazione dell'azione di unione

Power Automate PDF4me Unisci più file PDF in un unico file PDF con l'azione Body/docContent impostata sulla variabile e-mail e Nome file di output Email Attachment Merge Output.pdf

Passaggio 7: Perché un nome file con timestamp per l'archivio?

Flusso finora: Attiva più Inizializza variabile più Converti in corpo PDF più Aggiungi più Applica a ciascuno più Unisci più Crea file.

Salva il PDF consolidato su Dropbox con un nome file con timestamp UTC, in modo che ogni voce dell'archivio sia un file nuovo e ordinabile. Due email inviate allo stesso indirizzo nello stesso secondo sono un evento talmente raro che questo sistema garantisce un'univocità efficace senza la necessità di incorporare gli ID dei messaggi.

  1. Fare clic + Nuovo passo, scegliere Dropbox: crea file.
  2. Specificare:
    • Percorso cartella: /blog data/merge blog template/output
    • Nome del file (espressione, clic) fx): concat('merge-', formatDateTime(utcNow(), 'yyyyMMdd-HHmmss'), '.pdf')
    • Contenuto del file: scegli il Contenuto del file token dall'azione Unisci più PDF

espressione del nome del file

Power Automate Dropbox Crea azione file Percorso cartella /blog data/merge blog template/output, Nome file espressione concat merge dash comma formatDateTime utcNow comma yyyyMMdd dash HHmmss comma dot pdf mostrato nell'editor di espressioni

Azione finale con mappatura del contenuto del file

Azione Power Automate Dropbox Crea file con percorso cartella /blog data/merge blog template/output, espressione concat nome file, token contenuto file dall'azione Unisci più file PDF in un singolo file PDF

Suggerimento per chi gestisce un elevato volume di email in arrivo. Per le caselle di posta che ricevono più di 10 email al minuto, aggiungi un hash breve dell'ID del messaggio Internet per garantirne l'univocità: concat('merge-', formatDateTime(utcNow(), 'yyyyMMdd-HHmmss'), '-', substring(triggerOutputs()?['body/internetMessageId'], 0, 8), '.pdf')La traccia di controllo rimane leggibile, le collisioni sono impossibili.


Esegui il flusso e verifica

  1. Salva il flusso in alto a destra.
  2. Invia un messaggio di posta elettronica con uno o più allegati all'indirizzo monitorato.
  3. Aprire Cronologia delle esecuzioniIl grilletto dovrebbe scattare entro pochi secondi.
  4. Apri Dropbox all'indirizzo /blog data/merge blog template/output/Un file denominato merge-YYYYMMDD-HHmmss.pdf è lì.
  5. Apri il PDF. La pagina 1 contiene il testo principale. Dalla pagina 2 in poi, ogni allegato viene visualizzato per intero, nell'ordine in cui è stato allegato.

Che cosa hai costruito esattamente? Un sistema automatizzato per l'archiviazione delle email. Ogni messaggio con allegati viene trasformato in un unico PDF consolidato, con il corpo del messaggio e gli allegati in ordine, con data e ora per evitare sovrapposizioni, e viene salvato in una cartella condivisa consultabile dal team di gestione dei documenti o dai revisori. La stessa procedura funziona con due o venti allegati senza alcuna modifica.


Varianti comuni che puoi aggiungere senza dover ricostruire

Filtra gli allegati per tipo
Avvolgi Converti in PDF in un Condizione test endsWith(toLower(items('Apply_to_each')?['name']), '.pdf')Salta le firme email e gli allegati immagine incorporati.
Inserisci i metadati nella pagina 1
Prima del passaggio 3, crea un preambolo HTML con Comporre: mittente, oggetto, data di ricezione. La pagina 1 ora include un'intestazione ricercabile.
Segnale digitale prima dell'archiviazione
Inserisci PDF4me Firma digitale in PDF tra il passaggio 6 e il passaggio 7. Il PDF archiviato è controfirmato con il tuo certificato X.509, una traccia di controllo istantanea di chi ha archiviato cosa e quando.
PDF/A per la conservazione a lungo termine
Aggiungi PDF4me Crea PDF/A con conformità PDF/A-2b Dopo la fusione, il PDF archiviato è conforme alla norma ISO 19005, idoneo per la conservazione legale e la presentazione alle autorità di regolamentazione.

Archivio email: PDF vs EML

AspettoPDF consolidato (questo flusso)Esportazione EML non elaborata
Leggibile da tuttiSì, qualsiasi lettore PDF.No, è necessario Outlook o un client compatibile.
Cerca per contenutoSì, compatibile con OCRLimitato, solo corpo
Include allegatiSì, in linea come pagineSì, come flusso binario
Corrispondenza del formato di auditSOX, GDPR, HIPAA, FINRA accettanoSpesso rifiutato
A prova di manomissioneSì, se la segnaletica digitale è stata aggiuntaFacilmente modificabile con qualsiasi editor.
Dimensione del filePiù grande (tutte le pagine renderizzate)Più piccolo (nessun rendering)
Pipeline di fidelizzazioneUn PDF per email, facile da concatenareEML richiede un formato contenitore

Domande frequenti

Come posso attivare questo flusso su una casella di posta condivisa anziché su una casella di posta personale?

Sostituire il Quando arriva una nuova email (V3) grilletto con Quando arriva una nuova email in una casella di posta condivisa (V2). Passa l'indirizzo della casella di posta come Indirizzo originale della casella postale campo. Il resto del flusso rimane identico, ogni riferimento di allegato ed espressione del corpo si risolve allo stesso modo.

Cosa succede se un'email non ha allegati?

Il grilletto Solo con allegati Sì Il filtro impedisce l'esecuzione del flusso sulle email contenenti solo il corpo del messaggio. Se desideri archiviare anche le email contenenti solo il corpo del messaggio, imposta il filtro su No e racchiudi il ciclo Applica a ogni messaggio in una Condizione: eseguilo solo quando length(triggerOutputs()?['body/attachments']) è maggiore di zero. L'azione di unione funzionerà comunque anche con un solo PDF del corpo del documento nell'array, producendo un archivio a pagina singola.

Come faccio a includere il mittente, l'oggetto e la data di ricezione nella pagina 1 dell'archivio?

Prima del passaggio 3, aggiungi un Comporre azione con preambolo HTML:

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

Quindi, nella fase 3, imposta il contenuto del file sull'output di composizione. La pagina 1 ora contiene metadati di intestazione ricercabili.

Funzionerà con le email in formato HTML contenenti immagini incorporate?

Sì. PDF4me Convert to PDF renderizza HTML con inline <img src="cid:..."> riferimenti e immagini base64 incorporate. Outlook body/body include l'intero codice HTML con contenuto incorporato, in modo che il PDF generato preservi la fedeltà visiva di ciò che il destinatario ha visto.

Quanto tempo impiega il flusso a scorrere?

Circa 10-15 secondi per allegato su un DOCX di una pagina, più 5-10 secondi per l'attivazione e il caricamento finale. Una tipica email con 2 allegati viene completata in 35-45 secondi dall'inizio alla fine. L'opzione "Applica a ciascuno" di Power Automate viene eseguita in sequenza per impostazione predefinita per un output ordinato; se l'ordine non è importante e hai bisogno di velocità, imposta Controllo della concorrenza a 20 nelle impostazioni del ciclo.


Risoluzione dei problemi

Errori nell'azione di unione con "contenuto non valido"

Uno dei metodi Aggiungi all'array Valore le espressioni non sono racchiuse in base64ToBinary(...). Ogni push (corpo e allegati) necessita della conversione. Riapri entrambe le azioni Aggiungi, passa all'editor delle espressioni e conferma che le espressioni siano base64ToBinary(body('Convert_to_PDF_Body')?['$content']) E base64ToBinary(body('Convert_to_PDF')?['$content']) parola per parola.

La pagina 1 è vuota o mancante

L'azione Converti in corpo PDF non ha ricevuto HTML reale. Controlla il trigger Includi allegati è rimasto Sì (senza di esso il corpo a volte arriva vuoto) e che Contenuto del file risolve a triggerOutputs()?['body/body'], non anteprima del corpo/corpo.

Gli allegati vengono emessi nell'ordine sbagliato

L'impostazione predefinita Applicare a ciascuno esegue in parallelo, il che può alterare l'ordine di aggiunta. Apri il ciclo Impostazioni e impostare Controllo della concorrenza Grado di parallelismo a 1Il ciclo ora viene eseguito in sequenza e gli allegati vengono inseriti nell'ordine dell'array.

I file entrano in conflitto nella cartella dell'archivio

La risoluzione del timestamp è di un secondo. Per le caselle di posta con un elevato volume di messaggi, aggiungere l'hash dell'ID del messaggio Internet: concat('merge-', formatDateTime(utcNow(), 'yyyyMMdd-HHmmss'), '-', substring(triggerOutputs()?['body/internetMessageId'], 0, 8), '.pdf').


Prossimi passi

Lo stesso schema in sette fasi (attivazione, quindi inizializzazione dell'array, quindi conversione del corpo, quindi ciclo di conversione e aggiunta, quindi unione, quindi salvataggio con timestamp) funziona per qualsiasi automazione "email più allegati in un unico PDF". Inviane una e ogni messaggio in entrata diventerà automaticamente una voce d'archivio ricercabile, ordinabile e pronta per la verifica.