
On a "quick duck" (a search with DuckDuckGo) I found that question asked multiple times – but the closest and most precise answer was "you could to that in Python" (of course, without instructions). Mail headers and contents are spread across multiple tables and columns, so I cannot offer you an easy way to convert them into e.g. db files (one per mail account), which are SQLite files you can explore with apps like SQLiteman or SQLiteBrowser. K-9 Mail is an open source email client that works with basically every email provider. That done, extract the tarball and navigate into its apps/9/db/ directory. K-9 Mail, which will become Thunderbird for Android in the near future, is a popular mobile email client for Android. Alternative approaches for this conversion can also be found at XDA: What is an android adb backup?.

However, you can indirectly get hold on that creating an ADB backup (without password!) and converting that into a tar archive: adb backup -f k9mail.ab 9Īb2tar is a small helper script you can find in the tools/ directory of my little program Adebar (free, open-source based on Bash and ADB). But it is the only way I could fix the issue in my K9 Mail Android client.Ĭd /var/spool/mail/yourdomain/youraccount/Maildir/.K9 stores mails with its own app data, so you cannot access them without root except through the app. Note if you have a lot of e-mails and a Desktop client this will force it to redownload all e-mails (possibly thousands or more for some users). You need to delete the dovecot index and related files so they can be rebuilt. How do you fix this in Dovecot/your e-mail server?

This is moreso a bug in Dovecot where it probably messes up the index files. It appeared to be a bug in K9 mail but even reinstalling/wiping all settings did not fix it (read e-mails would still not reappear). Normal Desktop clients were not affected. This actually only happened after an e-mail server ran out of space due to run away log files.
