HELP / FAQ
Here's a few pointers to help get you started
Gmail requires the App to be registered at https://console.cloud.google.com/
Basically think of yourself as the App developer, it's yours to register and test out. You can name the App whatever you want to.
IMPORTANT: Don't forget to add the Gmail account(s) that's allowed to test the App.
Once you've registered the App you'll need to download the .JSON file, it's just a text file that contains your authorisation settings to enable ExportEmails to connect.
More information on this is in the PDF download
Admittedly it can be a headache setting up the Microsoft service, here's a few things to check.
If you're using a Microsoft Personal email account like outlook.com, hotmail.com etc you'll need a slightly different setup to Office 365.
We tested the Personal account connection with these permission settings to get it working in the Azure Portal > Microsoft Entra ID > App Registrations.
During testing we configured the following permissions and ensured Grant Admin consent for all.
Microsoft Graph (7 Delegated permissions)
- IMAP.AccessAsUser.All
- Mail.Read
- MailboxFolder.Read
- offline_access
- profile
- User.Read
You need to ensure you're using the Application (client) ID
You need to ensure you've added and matched the same redirect URL in the App as is in Azure, Authentication > Platform Configuration, usually http://localhost:8080
You'll need to ensure the Authentication > Supported Account Type is "Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)"
For Microsoft Office 365 Accounts, the settings are pretty much the same as above however we used these permissions in testing successfully:
Microsoft Graph (6 Delegated permissions)
- IMAP.AccessAsUser.All
- Mail.Read
- Mail.ReadWrite
- MailboxFolder.Read
- offline_access
- User.Read
In the App Registrations we ensured that the accounts needing access were added: App Registrations > "Your App Name" > Owners
For both Microsoft account type set ups, all you should then require for ExportEmails to work is your:
- Email Address
- Application (client) ID
- Redirect URI
There's quite a few reasons why this may be happening.
Check you have the correct IMAP server address
Check you have the correct IMAP port number, normally 143 or 993
Obviously check that your email and password is correct.
Some providers require that you set up an App Password - this will be a one off password explicitly for the App to connect to your account, this will be different to your normal email password. For Instance Yahoo IMAP connections operates in this way.
It may be that your provider simply does not provide IMAP without further configuration, so you will need to check your provider documentation. ExportEmails should support most providers.
Sometimes this will happen, however the login should still return the token information required for ExportEmails to work.
ExportEmails saves your Email account credentials in a database on your local machine. It does not save anything online.
When retrieving auth tokens, ExportEmails will save these in the database on your PC/Mac for that session. When the App is opened again, the stored auth tokens will be erased so that you will have to login/reconnect again.
When retrieving email addresses, the lists are saved in a database on your PC/Mac.
Everything is self contained within the App on your PC/Mac.
If you delete the App from your machine, all the data will also be deleted.
The App is built with Python, QT and Sqlite. QT is fully licensed.
ExportEmails looks at your email folders list and has the ability to read the email headers, nothing else.
An email header will not contain the email body or any attachments.
Here's a very simplified version of what an email header might contain:
From: Alice Johnson <alice.j@example.com>
To: Bob Smith <bob.smith@example.org>
Cc: Charlie Lee <charlie.lee@example.net>
Subject: Project Update – Q2 Planning
Date: Fri, 5 Apr 2024 14:35:22 +0000
Message-ID: <CAHd3YgJpQ39cAyz1JLV6@example.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla Thunderbird
We haven't added this to the various App stores due to potential long approval times and fees plus it's cheaper to distribute in this way as an open source free app rather than having to offer a priced model. This may change at a later date.
You'll be in total control of what ExportEmails can access, you'll also have the full source code to use and potentially extend or redevelop for your own requirements.
No, ExportEmails is a Desktop application for Mac and PC.
The reason for this is that during saving, ExportEmails checks the database and does not save email addresses that have already been saved. In other words it attempts to deduplicate the downloaded email addresses for you.
This is always a possibility. Whilst we have kept the data retrieved down to a minimum by only looking at the headers, you may get timeouts, particularly with large mailboxes.
If this is the case, try saving from Date Ranges to prevent this happening. The App will simply add to the existing data already saved.
Using Date Ranges are also useful if for any reason the App crashes. The saved lists will show you the To and From dates from your last saved export.
The batch dropdown governs how many emails to retrieve in one go.
Ideally it is best to keep this low so that you are not calling for too much data or this could result in the connection being throttled and slow things down.
For PC
MSI installer
or
ZIP with .EXE
For MAC
App container download as ZIP file
All packages contain Python, Qt for Python and any additional dependencies required.
The App is packaged using Briefcase.
PRICING
Export Emails is 100% free to download and use