Skip to content

Export & Print

MyEmailVault supports exporting archived emails for sharing, offline review, legal discovery, and long-term record-keeping.

Exporting a Single Email or Thread

From any email's detail view, two export options are available:

Export PDF

Generates a PDF of the email thread. The document includes message headers (sender, recipients, date, subject), the full message body with formatting preserved, and a list of attachments with clickable links back to the application for downloading.

Threads are rendered in chronological order, providing a readable, self-contained record of the entire conversation.

PDF + Attachments (ZIP)

Generates a ZIP archive containing the thread PDF alongside all original attachment files in their native format. The ZIP structure is:

Re Contract Review.zip
├── Re Contract Review.pdf
└── attachments/
    ├── Email 1 - architecture-diagram.png
    ├── Email 1 - cost-breakdown.png
    ├── Email 2 - project-proposal.pdf
    └── Email 3 - review-notes.docx

Attachments are prefixed with the email number they belong to (matching the order in the PDF), so it is clear which message each file came from. Original file formats are preserved -- no conversion is applied.

Bulk Export from Search Results

When viewing search results, users with the Export permission can click Export All to create a background export job for all matching emails.

How It Works

  1. Search for emails using keywords and optional filters (date range, source, attachment presence, matching strategy).
  2. Click Export All in the results header.
  3. A dialog asks whether to include attachments.
  4. Confirm to create a background job. The system processes emails in parallel, generating a PDF for each thread and optionally bundling attachments.
  5. Monitor progress on the Exports page (accessible from the sidebar under Archive).
  6. Once complete, download the ZIP.

ZIP Structure (Bulk Export)

Each email thread gets its own numbered folder:

export-2025-04-05-a1b2c3d4.zip
├── 1 - Re Contract Review/
│   ├── Re Contract Review.pdf
│   └── attachments/
│       ├── Email 1 - diagram.png
│       └── Email 2 - notes.docx
├── 2 - Meeting Notes/
│   └── Meeting Notes.pdf
├── 3 - Invoice March/
│   ├── Invoice March.pdf
│   └── attachments/
│       └── Email 1 - invoice.pdf
...

Limits

  • Concurrent jobs: A maximum of 2 export jobs can run simultaneously across the system.
  • Per-user limit: Each user can have up to 2 active or pending export jobs at a time.
  • Storage cap: Total export file storage is capped at a configurable limit (default 10 GB). Old exports are automatically cleaned up after they expire.
  • Expiry: Completed exports are retained for a configurable number of days (default 7), after which the cleanup scheduler removes them.

Permissions

Bulk export requires the Export action on the Archive resource in the user's role. Users without this permission will not see the Export All button or the Exports page.

Exports Page

The Exports page (under Archive in the sidebar) shows all of the current user's export jobs in a table:

ColumnDescription
Search QueryThe keywords and filters used, with a hover popup showing full filter details
StatusPending, Processing, Completed, Failed, or Cancelled
ProgressA progress bar during processing, or the final count when complete
SizeFile size of the completed ZIP
AttachmentsWhether attachments were included
CreatedWhen the job was created
ExpiresTime remaining before automatic cleanup
ActionsDownload (when complete), Delete

The page auto-refreshes while any job is in progress.

The email thread view includes a print button that opens a browser print dialog. Exported PDFs use clean formatting, consistent page breaks between messages, and a layout optimized for standard paper sizes.

Server-Side Generation

PDF generation is performed entirely on the server using Gotenberg (headless Chromium). Raw email content is parsed server-side and rendered to HTML, then converted to PDF without requiring a frontend round-trip. This ensures consistent output regardless of the client device or browser.