getmail6 is a flexible, extensible mail retrieval system with support for POP3, IMAP4, SSL variants of both, maildirs, mboxrd files, external MDAs, arbitrary message filtering, single-user and domain-mailboxes, and many other useful features.
getmail is Copyright (C) 1998-2024 Charles Cazabon and others.
getmail is licensed for use under the GNU General Public License version 2 (only).
See docs/COPYING for specific terms and distribution information.
getmail6 has adaptations to work with Python 3.
These changes might still contain some bugs.
Please report them at https://github.com/getmail6/getmail6.
See docs/BUGS for instructions on reporting bugs.
To install:
pip install getmail6
To uninstall:
pip uninstall getmail6
You can install getmail6 in your home directory if you add --user.
If getmail6 is available via your Linux distribution, you better use that.
getmail6 is not a python API. getmail6 provides command line tools:
- getmail
 - getmail_maildir
 - getmail_mbox
 - getmail_fetch
 - getmail-gmail-xoauth-tokens
 
Before using getmail you must configure it.
See docs/configuration.txt and docs/getmailrc-examples.
An example:
[retriever]
type = SimpleIMAPSSLRetriever
server = imap.gmail.com
port = 993
username = <your_email_here>
#password = ... or
password_command = ("pass", "<your_email_here>")
[destination]
type = Maildir
path = ~/Mail/<your_email_here>/INBOX/
[options]
read_all = true
delete = true
For gmail,
after having enabled 2-Step Authentication,
let google generate an "app password" for you.
Then, for the above example,
use pass edit <your_email_here> and change to the generate one.
- Go to https://mail.google.com
 - If you are signed in, on the left upper corner there is a cogwheel symbol for settings
 - Choose "See all Settings"
 - "Accounts and Imports" tab, then "Other Google Account Settings"/"Security" brings you to https://myaccount.google.com/u/0/security?hl=en
 - Turn on "2-Step Verification" (also known as 2-factor-authentication or 2FA)
 - In "App passwords", generate a password for your device
 - Update this in your password command.
 
See also: https://support.google.com/accounts/answer/185833
getmail is a native app.
See
https://developers.google.com/identity/protocols/oauth2/native-app
Still, to download your email from gmail to your computer using OAuth2
you need to grant getmail OAuth2 access to the scope https://mail.google.com/,
as you would to web apps.
Unfortunately, the init step in example 12 in docs/getmailrc-examples
has to be repeated regularly.
This makes the app password method above a better alternative.
Don't forget to remove the use_xoauth2 line,
if you switch from Oauth2 to app password.
There is now a test folder that uses docker-mailserver for black box testing.
Tests are work in progress.
See the HTML documentation for details on setting up and using getmail.
docs/documentation.html docs/configuration.html docs/faq.html docs/troubleshooting.html
It is included in the docs subdirectory,
and will be installed in <PREFIX>/doc/getmail-<version>/ (by default).