Stacks Image 8

MyMailArchiver (MMArchiver)


Archive emails to a MySQL database


Stacks Image 9

With MyMailArchiver for Mac, or MMArchiver, you can backup/archive your emails into a local or remote MySQL/MariaDB database. Currently only SmallCubed's new email client MailMaven is supported. Apple Mail is planned for next year.

If you are, or thinking about, moving from Apple Mail to MailMaven and are reluctant to do so because you are using MailSteward Pro (with MySQL), you can now make the switch to MailMaven + MMArchiver: MMArchiver supports the MailSteward Pro database, so you will not lose all your already archived emails!

MMArchiver stores the original email, the body and attachments separately and can do an OCR on inline and attached images, and retrieve text from other kinds of attachments, to make searching for that one email a lot easier. OCR requires 3rd party utilities, see below under 'Preferences / Settings -> Preferences : General'.

Stacks Image 53

System Requirements

MyMailArchiver runs on macOS 11 or higher, on 64-bit Intel and M-Macs.

MySQL / MariaDB database

MyMailArchiver requires a MySQL or MariaDB database, either local or remote. You can install MySQL locally on your Mac via this link: https://www.mysql.com/products/community/

SSH

If required, you can connect to your remote database via SSH. Using an SSH connection to the database, over a VPN connection to the remote network, is the most secure connection.

Languages / Talen / Sprachen / Idiomas / Lingue / Langues

MyMailArchiver is localised for Dutch, English, French, German, Italian and Spanish, with English as the default language.
If you see wrongly translated words, from English into one of the languages, please let me know.

Installing MyMailArchiver

Double-click the MMArchiver-installer package.

Running MyMailArchiver

Double-click the MMArchiver-icon in your Applications-folder.

The first time you start MMArchiver, you will be asked to enter your email address and serial number, as shown here (activated):
Stacks Image 204

Main Screen

Stacks Image 201
When you click an email in the list, the email is shown inside the 'Email Viewer', and the attachments are listed inside the 'Attachments'-list.

You can choose which version of the email will be shown, the text- or HTML-version, by toggling the 'HTML version' toggle.
The other two toggles are used to show all headers and the OCR'ed attachments (see below under 'Preferences / Settings -> Preferences : General').

You can sort on a column by clicking it. Clicking it again, reverses the sort order.

If you click on an attachment-line, MMArchiver will try to show an image of it in the small pane below.

You can resize panes by clicking & dragging the tiny 'o' between those panes.

You may close the main window any time. If you enabled automatic archiving (see below under 'Preferences / Settings -> Preferences : General'), it will continue - it does not need the window.
Stacks Image 208
Stacks Image 211

Delete or Download Emails(s)

You can select one or more emails and delete them permanently by pressing a Delete-key.

You can also download selected emails as Email (.eml), HTML (.html) and/or as PDF (.pdf), although PDF download only works with just one email selected. This is has to do with limitations in generating a PDF:
Stacks Image 223

Clear or Download Attachment(s)

You can select one or more attachments and clear them by pressing a Delete-key.
This action will clear the binary data from the attachments-tables and save disk space. This way, you can still search on the names and OCR'ed text of the cleared attachments. Attachments with no binary data are not listed in the attachments-list - as if they were removed.

You can also download selected attachment(s). For each selected attachment, a 'Save As'-dialog will be presented, so you can save each one into a different folder.

General Information

Database Connection Information
When MMArchiver is connected to a database, you see a green light at the top right of the screen.
- Red: no connection.
- Orange: connecting.
- Green: connected.
Stacks Image 83
File Menu

Import Emails

You can manually import emails (.eml files) via the File-menu's 'Import'-options. These two menu-options will present you a 'File-/Folder-Open'-dialog. You can select multiple files or folders at once.
Stacks Image 236

Archive Emails

You can manually start the archiving process, if you prefer not to have it automated (see the 'Preferences / Settings -> Preferences : General'-section below).

The 'Archive email...' option presents the following input-dialog:

Stacks Image 75
The field 'Number of processed emails' will show you what is being processed, in the this format: Processed / Duplicates (Updates) / Too old.

When an email is found that has already been archived, it is initially skipped as a duplicate, but when it has been moved to another mailbox, it will be updated and counted as an update.
The 'Too-old'-number counts emails that are beyond the retention-period set in 'Preferences / Settings -> Archive'
Help Menu
Under the Help-menu, you will find an option which will open the URL to this webpage.

There is also an option to view the archiving-log, which will open Console-app and looks like this:
============================================================

2026-07-07 18:28:56 : Archive between 09:00h and 21:00h.

--------------------------------------------------------------------------------

2026-07-07 18:28:56 : Begin timed archiving.
2026-07-07 18:28:56 : Skip attachments is OFF.
2026-07-07 18:28:56 : Skip inline attachments is OFF.
2026-07-07 18:28:56 : Mailboxes updated.
2026-07-07 18:28:56 : Connected to database sds82@127.0.0.1 via SSH tunnel.
2026-07-07 18:28:57 : Timeframe 2026-07-07 15:02:54 to 2026-07-07 18:00:44
2026-07-07 18:28:59 : Crowdfunding Campaigns  - $229 instead of $399 — early pricing is live (new)
2026-07-07 18:29:01 : The Kyiv Independent ,  - Recommendations from the Kyiv Independent: Photo books that help to understand Ukraine (new)
2026-07-07 18:29:02 : Kyiv Post  - NATO Summit Kicks Off With Moscow Attack – Ukraine Latest July 7 (new)
2026-07-07 18:29:03 : 3 new / 1 duplicates (0 updates) / 0 too old.
2026-07-07 18:29:03 : Start deleting old emails.
2026-07-07 18:29:03 : Delete emails with overridden retention periods.
2026-07-07 18:29:04 : Number of old emails deleted: 0
2026-07-07 18:29:04 : Delete emails using the default retention period of 50 Years
2026-07-07 18:29:04 : Number of old emails deleted: 0
2026-07-07 18:29:04 : Finished timed archiving.
Stacks Image 93

Preferences / Settings

Preferences : General
Stacks Image 152

Automatic Archiving

Archive mail every
Enter a number. From the menu you can choose between Minutes and Hours.
between
Enter a number between 0 and 2359 (24h notation). The number is formatted automatically. 700 becomes 07:00, 7 becomes 00:07.

OCR and Helper-Applications

To be able to search for emails on attachment contents, you can have MMArchiver recognise text in images and contents of PDF's, Word, Excel, and many other documents, which is then stored in the database, alogn side the email itself.

For this to work, you need 'tesseract' and 'Apache Tika'. You can install both with 'homebrew':

$ brew install tesseract; brew install tesseract-lang
$ brew install tika


MMArchiver will look for the installed helpers and store the paths when found. If not, copy and paste the full path in the appropriate fields yourself.

After OCR, import a maximum of .... characters
To limit te size of your database, which can grow very fast with these attachment contents - and thus consume diskspace –, you should limit the number of characters to be stored. A value of 0 means to store all text unlimited.

Storing Attachments

Do not archive attachments
Checking this setting will not store 'real' attachments - it does not look for inline attachments.
Do not archive inline attachments
Checking this setting will not store inline attachments, like images - it does not look for real attachments.
Checking one or both means that you will not be able to download the according attachments when viewing an email message. However, OCR and retrieving contents of attachments is being done anyway, so searching on attachment contents will work.

These are global settings and can be overridden on an individual basis in the 'Preferences : Mailboxes'-section.

Preferences : Mailboxes
Stacks Image 172
Here you see all active mailboxes of MailMaven listed and you can select the mailboxes to be archived to the remote database (see 'Preferences : MySQL Connection'-section below).
Automatically include new mailboxes
Check this box if newly added mailboxes in MailMaven should be added automatically for archiving. When unchecked, you have to select the mailbox manually.
Mailboxes-list Columns
Archive?
Check this box to archive the mailbox to the remote database.
Attachments
Use this checkbox to override the default setting 'Do not archive attachments' in the 'Preferences : General'-section (see above). A minus-sign means 'use the default setting'.
Inline
Use this checkbox to override the default setting 'Do not archive inline attachments' in the 'Preferences : General'-section (see above). A minus-sign means 'use the default setting'.
Archiving rules for selected mailbox
Instead of archiving all emails from a mailbox, you can add filtering rules, so only certain emais will be archived:
Stacks Image 178
The formula on one line is : ('%From email address%' and/or '%To email address%') and ('%Subject%' and/or '%Email body%'), using 'contains' to match emails. The filters are case insensitive.
In the example above:

if (('From ...' contains 'customer.com') and ('Subject' contains 'bestellung' or 'Email body' contains the words 'your' and 'order' in the given order)), the email will match.

Multiple formulas are concatenated using 'or'. So the filter works like this: (line 1) OR (line 2) OR (line 3).
In the example above '[ARCH]' is the second formula-line, and the complete formula will become:

if ((('From ...' contains 'customer.com') and ('Subject' contains 'bestellung' or 'Email body' contains the words 'your' and 'order' in the given order)) or ('Subject' contains '[ARCH]')), the email will match.

You can use the percent-sign (%) as a wilcard, like in the example with 'your%order'. This will match subjects like 'We have shipped your order' or 'View your latest orders', but not match 'The order from your webshop'.
Preferences : SSH Connection
Stacks Image 183
The SSH section is can be used for a connection to a remote MySQL / MariaDB database, if required. Therefore, an SSH connection is not mandatory.
You can use it, for example, when your MySQL / MariaDB database is on a remote server and MySQL ports are all closed for outside access, so it is only accessible via localhost or 127.0.0.1. You will probably also need a VPN-connection to the network of your hosting provider.
Preferences : MySQL Connection
Stacks Image 189
The database cam be local on your Mac, a Mac or (Windows / Linux) PC in your home network, or on a remote server.
Check 'Use SSH' when you can only connect to the database over SSH.

Make sure the database-user has the following privileges: Alter, Create, Delete, Drop, Insert, Lock Tables, Select and Update.

MMArchiver cannot create the database and user itself, you have to that. Or use an existing database with an existing user.

Note: If you are moving, or planning to move, from Apple Mail + MailSteward Pro with MySQL to MailMaven + MMArchiver, you can keep on using the MailSteward Pro database: check the box 'Use MailSteward tables' before clicking 'Test connection', otherwise MMArchiver will create its own tables. You can also choose to leave the MailSteward Pro database as is and start using the MMArchiver tables.
Preferences : Archive
Stacks Image 194
This panel shows all archived mailboxes, even if you do not have them anymore in MailMaven - that is the whole point of archiving them.

To not overflow the database with old stuff you never have to look at again, you set a timeframe to when delete archived emails.
Keep emails for
Enter a number. From the menu, choose the type of duration: Days, Weeks, Months or Years.
Archived Mailboxes-list
Mailboxes
The list of archived mailboxes. This list is retrieved from the stored emails. So when the last email with a listed mailbox is removed, the mailbox will also dissapear from this list.
Keep
Here you can override the default 'Keep'-period you set above. Enter a number, followed by the first character of the above mentioned menu-options: D, W, M or Y.



mwx_logo-long-small

On this website, Google Analytics is used to track visitor statistics. These are anonymized data about the number of visitors, which pages they visit on this site, from which regions they visit, which web browsers they use, etc..
Privacy Statement