2026-07-02 16:26:03 +02:00
2026-07-02 15:58:57 +02:00
2026-07-02 15:58:57 +02:00
2026-07-02 15:58:57 +02:00
2026-07-02 16:26:03 +02:00
2026-07-02 15:58:57 +02:00
2026-07-02 15:58:57 +02:00

olm2eml

Convert emails extracted from an Outlook for Mac OLM file into standard .eml files. This code is written by OpenCode Zen/Big Pickle.

Installation

git clone https://git.wimpomp.nl/wim/olm2eml.git
cd olm2eml
pip install .

Usage

Point the tool at the directory containing the OLM-extracted XML files:

olm2eml /path/to/olm_extracted_emails /path/to/output

Use --preserve-structure to mirror the account/folder hierarchy in the output:

olm2eml /path/to/olm_extracted_emails /path/to/output --preserve-structure

Use --overwrite to replace existing .eml files:

olm2eml /path/to/olm_extracted_emails /path/to/output --overwrite

You can also run the module directly without installing:

python olm_xml_to_eml.py /path/to/olm_extracted_emails /path/to/output

Input format

The tool expects the directory structure produced by OLM extraction tools (e.g. olm-export):

emails_root/
├── Accounts/
│   └── account@example.com/
│       └── com.microsoft.__Messages/
│           ├── Inbox/
│           │   ├── message_00000.xml
│           │   ├── message_00001.xml
│           │   └── ...
│           └── Sent Items/
│               └── ...
├── Local/
│   └── ...
└── Categories.xml

Each message_*.xml file contains the email metadata and body. Attachments are stored in sibling com.microsoft.__Attachments/ folders and are referenced by the XML.

Output

Standard .eml files (RFC 2822) compatible with any email client (Thunderbird, Outlook, Apple Mail, etc.). Each email preserves:

  • Subject, From, To, CC
  • Date, Message-ID, References, In-Reply-To
  • HTML body with plain text fallback
  • Attachments and inline images
S
Description
No description provided
Readme 37 KiB
Languages
Python 100%