PyMailGUI Products Page

icon
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

.

Status: As of Sep-2025, this program is no longer maintained. PyMailGUI is a simple mail client by design but falls short of today's expectations. It supports only POP fetching and plain-text composing, lacks now-common tools like spelling checks, and will not work with some email providers' servers today due to the usual software churn. Hence, after being used and updated by its creator for 15 years (since 2010's

PP4E

), its development has come to an end. Nevertheless, PyMailGUI can still serve as a demo of Python, Tkinter, and email coding techniques for those seeking larger examples.

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

.

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.

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 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.

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 MailConfigs settings, 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

. 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

.