PyMailGUI — Email Without the Evil
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:
-
- 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.
- Source-code users
-
This program requires a minor mod for recent Pythons: add the line
import sysnear the top of filePyMailGui-PP4E/popuputil.pyin the unzippedPyMailGUI-sourcepackage. 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.
Recent updates:
- (2023) New constraints for older 2017 app
- Per 2023 vetting on macOS Ventura, the 2017 macOS app package may have multiple issues; please use the newer 2022 4.1 app or source-code packages available above instead, where needed. Source code may have minor issues with text colors for macOS dark mode in some older Pythons; see Frigcal usage notes for info and fixes. The 2022 4.1 app also addresses most usage issues and is known to work well in macOS Sequoia.
- (2025) Highlight-color workaround
-
A macOS Catalina test machine began using white as the highlight
color for all selected text in dark mode, which is unusable with light backgrounds.
This impacts all Tk-based GUIs on this machine, and is likely a macOS or Tk bug.
Fortunately, its one-time workaround is easy: open System Preferences => General,
and change the "Highlight color" there to Blue (or other). Alternatively, pick a
dark color scheme via
MailConfigssettings, or use light mode on your macOS PC. - (2025) New install screenshots
- Install steps on recent macOS versions are captured in the gallery images starting here. As shown, you'll need to install Rosetta to run PyMailGUI on Apple M-chip devices, though the install warning and steps are not as onerous as they are today for the Frigcal and PyEdit apps (e.g., no xattr command may be required).
- 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.
Recent updates:
- (2023) Window 11 verified
- 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.
Recent updates:
- (2020) Executable broken, use source
- Per this note, 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.
Recent updates:
- (2023-2024) Host app limits then improves storage support
- Pydroid 3's version 6 imposed extra rules for running this program on Android, then lifted the contraints in its version 7.0; see the coverage here.
Resources
-
For a preview of PyMailGUI in action, visit its screenshots page.
-
For information on using PyMailGUI, explore its User Guide.
-
For highlights of PyMailGUI's releases, view its recent changes.
-
For PyMailGUI's full source code online, browse its unzipped code.
-
For more tips and updates, see the support page and older list.

