Thought your emails were stuck in encrypted byteland? ProtonMail, for all of its merits, does not support email exports
of any kind. Because of their small team, they have no public API and do not (yet) support IMAP or bulk downloads.
This CLI uses headless Chromium to download, optionally decrypt, and export ProtonMail emails to standard formats.
- Exports email content, raw and parsed headers, and other ProtonMail metadata to JSON.
- Optionally exports to standard
.mbox format for portability to other email providers and applications.
- Supports auto-resuming of stopped exports.
- This is currently only designed for the two-password ProtonMail login scheme. No 2FA support.
- No attachment support.
It is not recommended you pass your passwords directly via option, as they'll be available in your bash history. If you do not pass your passwords as options, you will be prompted for them.
-V, --version output the version number
-u, --username <username> ProtonMail username (required)
-p, --password <password> ProtonMail login password (optional)
-m, --mailbox-password <mailbox-password> ProtonMail mailbox password (optional)
-g, --gui Run with Chromium window visible (default: false)
-c, --clean Remove cached emails for this account
-d, --decrypt Decrypt email contents
-h, --help output usage information
- While the download is synchronous, there is no rate-limiting built in. Consider throttling your network connection in Chromium dev tools.
- With decryption enabled, your encrypted private key is received via your login request to ProtonMail, and then
decrypted locally the same way it is in your browser.
- If you've changed your ProtonMail mailbox password since creating your account, YMMV, as this changes your private key's password.
- This downloader does not distinguish between different email addresses in one ProtonMail inbox. It downloads the entire inbox.
- Your (PGP encrypted) emails will be written to disk. Your emails will be not be decrypted, unless you pass the
- Email headers are never encrypted.
- Add 2FA support
- Find source of puppeteer navigation timeout error
(2 years ago)