PyMailGUI — Email Without the Evil

icon

Welcome to the products page for PyMailGUI, a cross-platform email client. PyMailGUI is a GUI coded in Python/Tk, which allows you to send and receive email using your POP/SMTP server accounts, and save and view email in offline files. With PyMailGUI, your email session is private, void of advertising, and off-limits to snoops. For a quick tour of PyMailGUI's features, see its User Guide's Introducing PyMailGUI, its PC screenshots, and its work-in-progress Android how-to.

New: PyMailGUI 4.1 was released in Jun-2022, in the source-code package and macOS app below (only). This release adds a "Message-ID" header to all sent mails, uses "Reply-To" if present, and more. Linux and Windows users: your executables were not rebuilt for this release due to tools flux; please use the source-code package.

Download

PyMailGUI runs on macOS (f.k.a. Mac OS X), Windows, Linux, and Android. It's available as a platform-specific macOS app (Intel native), Windows exe (both 64- and 32-bit), and Linux executable, plus a complete source-code package that runs on all four platforms. Click the download link below to fetch the package you wish to use. The app, exes, and executable may be easier to install and run, but source code can be studied, is required on Android today, and nullifies issues covered by the next section's pointers.

macOS app Download PyMailGUI.app.zip
Windows exe, 64 bit Download PyMailGUI-64bit.zip
Windows exe, 32 bit Download PyMailGUI-32bit.zip
Linux executable Download PyMailGUI.zip
Source-code package Download PyMailGUI-source.zip

Though not normally needed, the prior versions of any of the above are available with a "prev-" name suffix on the full products page here. For example, fetch prev-PyMailGUI.app.zip for the prior build of the macOS app.

Usage

For more details on PyMailGUI's download packages, as well as their complete install and usage instructions, see the main README.txt. In brief, you'll fetch, unzip, and run either the unzipped app itself (macOS), a same-named executable inside the unzip (Windows and Linux), or the program's main script in the unzipped source code (all platforms).

The latest getting-started pointers:

Source-code users
This program requires a minor mod for recent Pythons: add the line import sys near the top of file PyMailGui-PP4E/popuputil.py in the unzipped PyMailGUI-source package. This is not required for and does not impact apps or executables, because they use older Pythons. The was broken by a recent clean-up initiative in Python.
macOS users
See the tips and fixes for your platform's first-run warnings, and app-folder permissions. Both of these apply only to the macOS app, not source code. The readme covers Launchpad on your platform.

Mojave users: see also this to fix crashes and blank windows caused by macOS dark mode.

Apple M-chip users: the Rosetta 2 emulator is required to run the app package, but not source code.

Update: per 2023 vetting on macOS Ventura, the 2017 macOS app package may have multiple issues; please use the source-code package instead, where needed. Source code may have minor issues with text colors for macOS dark mode; see Frigcal usage notes for info and fixes.

Windows users
See the tips and fixes for your platform's first-run warnings, executable start-up speed, 64-bit executable crashes, and blurry text on Windows 10+. The first three of these apply only to Windows executables, not source code.

Update: as of 2023, this program's app and source-code have now been vetted to mostly work well on Windows 11, in addition to 7, 8, and 10. Sole exception: per above, its 64-bit executable no longer works on Windows 10+; please use its 32-bit executable or source-code package instead, where needed.

Linux users
You can add PyMailGUI to your applications launcher by fetching this file and installing it per steps 1..4 in this tip. See also this tip for a possibly useful library fix for the executable.

Update: per this note in 2020, PyMailGUI's Linux executable was broken by recent Linux changes; please use the source-code package instead.

Android users
As noted in this doc, PyMailGUI is not yet fully functional on Android, but watch for updates here. To use it on this platform, you'll fetch and patch its source-code package, and launch it in an app's IDE to manage a specific account.

Android 11+ users: see also this for recent changes on Android; these may impact access to saved-mail folders.

Update: in 2023, Pydroid 3's version 6 imposed extra rules for running this program on Android; see the coverage here.

All users—POP vs IMAP email
PyMailGUI currently fetches email with POP only, which has been demoted or dropped by some mail providers, but not all. This program can be used to process email from an IMAP (or IMAP-only) provider if fetched separately with a utility like this. For more background, click here.

Resources




[Home page] Books Code Blog Python Author Train Find ©M.Lutz