
Ein E-Mail-Programm, Mail-Client oder Mail User Agent (MUA) ist ein Programm, mit dem E-Mails empfangen, gelesen, geschrieben und versendet werden. Im Gegensatz zu Webmail wird die Software üblicherweise nicht im Browser, sondern lokal auf dem Endgerät wie z. B. PC oder Handy verwendet. Dies ermöglicht das Lesen und Bearbeiten von E-Mails auch ohne Internetverbindung und unter bestimmten Voraussetzungen auch sichere Kommunikation (z. B. über Ende-zu-Ende-Verschlüsselung mittels Autocrypt).
E-Mail-Programme werden meist kostenlos angeboten, dabei oft als freie Software. Dazu zählen die in der Kategorie Freie E-Mail-Software aufgeführten Programme sowie weitere wie z. B. FairEmail oder der Thunderbird-Fork Betterbird. Allerdings werden die weltweiten Marktanteile von wenigen Unternehmen bzw. wenigen Produkten dominiert.
Übersicht über E-Mail-Clients und Marktanteile weltweit, Stand Juni 2024:
| Programm | Marktanteil | Betriebssystem |
|---|---|---|
| Apple Mail | 49 % | macOS, iOS |
| Gmail App | 38 % | Android, iOS |
| Outlook App | 5 % | Windows, Android, macOS, iOS |
| Yahoo Mail App | Android, iOS | |
| Thunderbird | 0,24 % | Windows, Linux, macOS, Android |
| eM Client | Windows, macOS, Android, iOS | |
| Mailbird | Windows, macOS | |
| Betterbird | Windows, Linux, macOS | |
| Spark | Windows, macOS, iOS | |
| Samsung Email | 0,12 % | Android |
| FairEmail | Android |

Um eine E-Mail anzuzeigen, kann ein E-Mail-Programm sich entweder mit dem Mailserver synchronisieren (meist über IMAP oder IMAPS) oder die E-Mail von einem Mailserver in einen gewünschten Ordner herunterladen (meist über POP3 oder POP3S) und dann lokal öffnen.
Zum Versand einer E-Mail schickt das E-Mail-Programm des Benutzers diese üblicherweise per Simple Mail Transfer Protocol (SMTP) an einen SMTP-Relay-Server (auch Smarthost), der sie dann weiter zum Mail-Server des Empfängers schickt. Der Nachteil dieses Verfahrens ist, dass bei fehlender Erreichbarkeit des Relay-Servers kein Versand von E-Mails möglich ist.
Alternativ erfolgt der Versand über einen lokal zur Verfügung stehenden Mail-Transfer-Agenten (MTA), wobei sich bei Linux oder Unix die sendmail-Schnittstelle dafür durchgesetzt hat, selbst dann, wenn andere Mail-Transfer-Agenten wie etwa qmail, Postfix oder Exim zum Einsatz kommen. Diese Lösung hat den Vorteil einer lokalen Warteschlange für ausgehende E-Mails und den Nachteil einer aufwendigeren Installation.
Ein E-Mail-Programm benötigt zur Konfiguration üblicherweise folgende Angaben, die beim Internetdienstanbieter in Erfahrung gebracht werden können:
Häufig sind POP3-, IMAP- und SMTP-Server-Adressen und deren Zugangsdaten identisch.
Wie beim Zugriff auf andere Benutzerkonten im Internet wird empfohlen, die Datenübertragung zu verschlüsseln, siehe Transport Layer Security. Andernfalls können Benutzername und Passwort abgehört werden; ein Angreifer könnte die E-Mails lesen oder E-Mails über das Benutzerkonto versenden. Seit Anfang 2014 verpflichten Freenet, T-Online.de, GMX und Web.de ihre Nutzer, verschlüsselte Verbindungen zu den Mailservern zu nutzen (ähnlich HTTPS im Webbrowser). Unabhängig vom Transport wird der Nachrichtentext mit Metadaten an den beteiligten Servern im Klartext zwischengespeichert.
Der Benutzer des Programms hat üblicherweise mehrere Ordner zur Verfügung, in denen einzelne Mails gespeichert werden können. Je nach System und Programm sind diese Ordner tatsächliche Unterverzeichnisse im Dateisystem des Computers mit einzelnen Dateien für jede Mail (siehe Maildir) oder Archive, in denen mehrere Mails speichersparend zusammengepackt werden. Die Archive können wiederum in „Klartext“ als Textdateien (siehe mbox) oder als komprimierte Archive ausgeführt sein, ggf. nach freier Wahl des Benutzers.
Den Inhalt aller dieser Ordner kann der Benutzer in Listenform anzeigen lassen und Mails nach Wahl lesen, beantworten, als Ausgangsgerüst für eine neu zu erstellende Mail verwenden, löschen oder in einen anderen Ordner verschieben oder kopieren.
Wenn der Benutzer mehrere Benutzerkonten besitzt, wird diese Ordnerstruktur ggf. für jeden Account einzeln erstellt.
Der Benutzer kann das Programm anweisen, beim Mail-Server ggf. neu eingetroffene Mails regelmäßig abzurufen.