getmail 6.19.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- getmail-6.19.5/.github/workflows/lint.yml +15 -0
- getmail-6.19.5/.gitignore +141 -0
- getmail-6.19.5/MANIFEST.in +13 -0
- getmail-6.19.5/Makefile +73 -0
- getmail-6.19.5/PKG-INFO +162 -0
- getmail-6.19.5/README +136 -0
- getmail-6.19.5/docs/BUGS +33 -0
- getmail-6.19.5/docs/CHANGELOG +1800 -0
- getmail-6.19.5/docs/COPYING +339 -0
- getmail-6.19.5/docs/HACKING +4 -0
- getmail-6.19.5/docs/THANKS +64 -0
- getmail-6.19.5/docs/configuration.html +3445 -0
- getmail-6.19.5/docs/configuration.txt +1899 -0
- getmail-6.19.5/docs/documentation.html +602 -0
- getmail-6.19.5/docs/documentation.txt +316 -0
- getmail-6.19.5/docs/faq.html +1676 -0
- getmail-6.19.5/docs/faq.txt +1152 -0
- getmail-6.19.5/docs/getmail.1 +79 -0
- getmail-6.19.5/docs/getmail_fetch.1 +74 -0
- getmail-6.19.5/docs/getmail_maildir.1 +36 -0
- getmail-6.19.5/docs/getmail_mbox.1 +45 -0
- getmail-6.19.5/docs/getmaildocs.css +34 -0
- getmail-6.19.5/docs/getmailrc-examples +498 -0
- getmail-6.19.5/docs/getmails.1 +68 -0
- getmail-6.19.5/docs/troubleshooting.html +496 -0
- getmail-6.19.5/docs/troubleshooting.txt +339 -0
- getmail-6.19.5/getmail +1129 -0
- getmail-6.19.5/getmail-gmail-xoauth-tokens +189 -0
- getmail-6.19.5/getmail.egg-info/PKG-INFO +162 -0
- getmail-6.19.5/getmail.egg-info/SOURCES.txt +61 -0
- getmail-6.19.5/getmail.egg-info/dependency_links.txt +1 -0
- getmail-6.19.5/getmail.egg-info/top_level.txt +1 -0
- getmail-6.19.5/getmail_fetch +241 -0
- getmail-6.19.5/getmail_maildir +85 -0
- getmail-6.19.5/getmail_mbox +87 -0
- getmail-6.19.5/getmailcore/__init__.py +40 -0
- getmail-6.19.5/getmailcore/_retrieverbases.py +2037 -0
- getmail-6.19.5/getmailcore/baseclasses.py +510 -0
- getmail-6.19.5/getmailcore/constants.py +12 -0
- getmail-6.19.5/getmailcore/destinations.py +1103 -0
- getmail-6.19.5/getmailcore/exceptions.py +80 -0
- getmail-6.19.5/getmailcore/filters.py +397 -0
- getmail-6.19.5/getmailcore/imap_utf7.py +143 -0
- getmail-6.19.5/getmailcore/logging.py +131 -0
- getmail-6.19.5/getmailcore/message.py +243 -0
- getmail-6.19.5/getmailcore/retrievers.py +572 -0
- getmail-6.19.5/getmailcore/utilities.py +706 -0
- getmail-6.19.5/getmails +91 -0
- getmail-6.19.5/pypi.sh +13 -0
- getmail-6.19.5/pyproject.toml +94 -0
- getmail-6.19.5/setup.cfg +4 -0
- getmail-6.19.5/setup.py +118 -0
- getmail-6.19.5/test/README.rst +30 -0
- getmail-6.19.5/test/docker-compose.yml +36 -0
- getmail-6.19.5/test/docker-mailserver-getmail6test/Dockerfile +22 -0
- getmail-6.19.5/test/docker-mailserver-getmail6test/entrypoint.sh +17 -0
- getmail-6.19.5/test/prepare_test.sh +718 -0
- getmail-6.19.5/test/self_sign.sh +103 -0
- getmail-6.19.5/test/spam.eml +164 -0
- getmail-6.19.5/test/test.py +95 -0
- getmail-6.19.5/test/test_getmail_with_docker_mailserver.bats +276 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# https://github.com/codespell-project/codespell
|
|
2
|
+
# https://beta.ruff.rs
|
|
3
|
+
name: lint
|
|
4
|
+
on:
|
|
5
|
+
push:
|
|
6
|
+
branches: [main, master]
|
|
7
|
+
pull_request:
|
|
8
|
+
branches: [main, master]
|
|
9
|
+
jobs:
|
|
10
|
+
lint:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- run: pip install --user codespell[toml] ruff
|
|
14
|
+
- run: codespell
|
|
15
|
+
- run: ruff check .
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
test/temp.*
|
|
2
|
+
|
|
3
|
+
# Byte-compiled / optimized / DLL files
|
|
4
|
+
__pycache__/
|
|
5
|
+
*.py[cod]
|
|
6
|
+
*$py.class
|
|
7
|
+
|
|
8
|
+
# C extensions
|
|
9
|
+
*.so
|
|
10
|
+
|
|
11
|
+
# Distribution / packaging
|
|
12
|
+
.Python
|
|
13
|
+
build/
|
|
14
|
+
.build/
|
|
15
|
+
develop-eggs/
|
|
16
|
+
dist/
|
|
17
|
+
downloads/
|
|
18
|
+
eggs/
|
|
19
|
+
.eggs/
|
|
20
|
+
lib/
|
|
21
|
+
lib64/
|
|
22
|
+
parts/
|
|
23
|
+
sdist/
|
|
24
|
+
var/
|
|
25
|
+
wheels/
|
|
26
|
+
share/python-wheels/
|
|
27
|
+
*.egg-info/
|
|
28
|
+
.installed.cfg
|
|
29
|
+
*.egg
|
|
30
|
+
MANIFEST
|
|
31
|
+
|
|
32
|
+
# PyInstaller
|
|
33
|
+
# Usually these files are written by a python script from a template
|
|
34
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
35
|
+
*.manifest
|
|
36
|
+
*.spec
|
|
37
|
+
|
|
38
|
+
# Installer logs
|
|
39
|
+
pip-log.txt
|
|
40
|
+
pip-delete-this-directory.txt
|
|
41
|
+
|
|
42
|
+
# Unit test / coverage reports
|
|
43
|
+
htmlcov/
|
|
44
|
+
.tox/
|
|
45
|
+
.nox/
|
|
46
|
+
.coverage
|
|
47
|
+
.coverage.*
|
|
48
|
+
.cache
|
|
49
|
+
nosetests.xml
|
|
50
|
+
coverage.xml
|
|
51
|
+
*.cover
|
|
52
|
+
*.py,cover
|
|
53
|
+
.hypothesis/
|
|
54
|
+
.pytest_cache/
|
|
55
|
+
cover/
|
|
56
|
+
|
|
57
|
+
# Translations
|
|
58
|
+
*.mo
|
|
59
|
+
*.pot
|
|
60
|
+
|
|
61
|
+
# Django stuff:
|
|
62
|
+
*.log
|
|
63
|
+
local_settings.py
|
|
64
|
+
db.sqlite3
|
|
65
|
+
db.sqlite3-journal
|
|
66
|
+
|
|
67
|
+
# Flask stuff:
|
|
68
|
+
instance/
|
|
69
|
+
.webassets-cache
|
|
70
|
+
|
|
71
|
+
# Scrapy stuff:
|
|
72
|
+
.scrapy
|
|
73
|
+
|
|
74
|
+
# Sphinx documentation
|
|
75
|
+
docs/_build/
|
|
76
|
+
|
|
77
|
+
# PyBuilder
|
|
78
|
+
.pybuilder/
|
|
79
|
+
target/
|
|
80
|
+
|
|
81
|
+
# Jupyter Notebook
|
|
82
|
+
.ipynb_checkpoints
|
|
83
|
+
|
|
84
|
+
# IPython
|
|
85
|
+
profile_default/
|
|
86
|
+
ipython_config.py
|
|
87
|
+
|
|
88
|
+
# pyenv
|
|
89
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
90
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
91
|
+
# .python-version
|
|
92
|
+
|
|
93
|
+
# pipenv
|
|
94
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
95
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
96
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
97
|
+
# install all needed dependencies.
|
|
98
|
+
#Pipfile.lock
|
|
99
|
+
|
|
100
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
|
101
|
+
__pypackages__/
|
|
102
|
+
|
|
103
|
+
# Celery stuff
|
|
104
|
+
celerybeat-schedule
|
|
105
|
+
celerybeat.pid
|
|
106
|
+
|
|
107
|
+
# SageMath parsed files
|
|
108
|
+
*.sage.py
|
|
109
|
+
|
|
110
|
+
# Environments
|
|
111
|
+
.env
|
|
112
|
+
.venv
|
|
113
|
+
env/
|
|
114
|
+
venv/
|
|
115
|
+
ENV/
|
|
116
|
+
env.bak/
|
|
117
|
+
venv.bak/
|
|
118
|
+
|
|
119
|
+
# Spyder project settings
|
|
120
|
+
.spyderproject
|
|
121
|
+
.spyproject
|
|
122
|
+
|
|
123
|
+
# Rope project settings
|
|
124
|
+
.ropeproject
|
|
125
|
+
|
|
126
|
+
# mkdocs documentation
|
|
127
|
+
/site
|
|
128
|
+
|
|
129
|
+
# mypy
|
|
130
|
+
.mypy_cache/
|
|
131
|
+
.dmypy.json
|
|
132
|
+
dmypy.json
|
|
133
|
+
|
|
134
|
+
# Pyre type checker
|
|
135
|
+
.pyre/
|
|
136
|
+
|
|
137
|
+
# pytype static type analyzer
|
|
138
|
+
.pytype/
|
|
139
|
+
|
|
140
|
+
# Cython debug symbols
|
|
141
|
+
cython_debug/
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
include README
|
|
2
|
+
include MANIFEST.in
|
|
3
|
+
include docs/*.txt
|
|
4
|
+
include docs/*.html
|
|
5
|
+
include docs/BUGS
|
|
6
|
+
include docs/CHANGELOG
|
|
7
|
+
include docs/COPYING
|
|
8
|
+
include docs/THANKS
|
|
9
|
+
include docs/getmaildocs.css
|
|
10
|
+
include docs/getmailrc-examples
|
|
11
|
+
include docs/*.1
|
|
12
|
+
include getmail getmail_fetch getmail_maildir getmail_mbox setup.py
|
|
13
|
+
include getmailcore/*.py
|
getmail-6.19.5/Makefile
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# docs/COPYING 2a + DRY: https://github.com/getmail6/getmail6
|
|
2
|
+
# Please refer to the git history regarding who changed what and when in this file.
|
|
3
|
+
|
|
4
|
+
# Needs Docker Daemon running
|
|
5
|
+
# systemctl start docker
|
|
6
|
+
|
|
7
|
+
.PHONY: doc
|
|
8
|
+
doc:
|
|
9
|
+
links -dump docs/documentation.html > docs/documentation.txt
|
|
10
|
+
links -dump docs/configuration.html > docs/configuration.txt
|
|
11
|
+
links -dump docs/faq.html > docs/faq.txt
|
|
12
|
+
links -dump docs/troubleshooting.html > docs/troubleshooting.txt
|
|
13
|
+
|
|
14
|
+
.PHONY: testclean
|
|
15
|
+
testclean:
|
|
16
|
+
[ -d /tmp/mailserver/ ] && (cd /tmp/mailserver && docker-compose down) || true
|
|
17
|
+
[ -d /tmp/mailserver/ ] && sudo rm -rf /tmp/mailserver || true
|
|
18
|
+
|
|
19
|
+
.PHONY: test3
|
|
20
|
+
test3:
|
|
21
|
+
cd test && ./prepare_test.sh
|
|
22
|
+
cd /tmp/mailserver && test/bats/bin/bats test/test_getmail_with_docker_mailserver.bats
|
|
23
|
+
|
|
24
|
+
.PHONY: testpython
|
|
25
|
+
testpython:
|
|
26
|
+
pytest test/test.py
|
|
27
|
+
|
|
28
|
+
.PHONY: test
|
|
29
|
+
test: testpython testclean test3
|
|
30
|
+
cd /tmp/mailserver && docker-compose down
|
|
31
|
+
|
|
32
|
+
.PHONY: lint
|
|
33
|
+
lint:
|
|
34
|
+
ruff check .
|
|
35
|
+
|
|
36
|
+
.PHONY: check
|
|
37
|
+
check: lint
|
|
38
|
+
/usr/bin/man -l docs/getmail.1
|
|
39
|
+
/usr/bin/man -l docs/getmails.1
|
|
40
|
+
/usr/bin/man -l docs/getmail_fetch.1
|
|
41
|
+
/usr/bin/man -l docs/getmail_maildir.1
|
|
42
|
+
/usr/bin/man -l docs/getmail_mbox.1
|
|
43
|
+
restview --long-description --strict
|
|
44
|
+
|
|
45
|
+
.PHONY: dist
|
|
46
|
+
dist: doc
|
|
47
|
+
echo "need sudo to create wheel"
|
|
48
|
+
sudo python setup.py bdist_wheel sdist
|
|
49
|
+
echo "note:"
|
|
50
|
+
echo "use ./pypi.sh to upload to PYPI"
|
|
51
|
+
|
|
52
|
+
# use ./pypi.sh to upload to PYPI
|
|
53
|
+
.PHONY: up6
|
|
54
|
+
up6: dist
|
|
55
|
+
twine upload dist/`ls dist -rt *.whl | tail -1` dist/`ls dist -rt *.tar.gz | tail -1` -u__token__ -p`pass show pypi.org/getmail6_api_token`
|
|
56
|
+
|
|
57
|
+
.PHONY: up
|
|
58
|
+
up: dist
|
|
59
|
+
twine upload dist/`ls dist -rt *.whl | tail -1` dist/`ls dist -rt *.tar.gz | tail -1` -u__token__ -p`pass show pypi.org/getmail_api_token`
|
|
60
|
+
|
|
61
|
+
.PHONY: tag
|
|
62
|
+
tag: dist
|
|
63
|
+
$(eval TAGMSG="v$(shell ./getmail --version | cut -d ' ' -f 2)")
|
|
64
|
+
echo $(TAGMSG)
|
|
65
|
+
git tag -s $(TAGMSG) -m"$(TAGMSG)"
|
|
66
|
+
git verify-tag $(TAGMSG)
|
|
67
|
+
git push origin $(TAGMSG) --follow-tags
|
|
68
|
+
|
|
69
|
+
.PHONY: cleandocker
|
|
70
|
+
cleandocker:
|
|
71
|
+
docker network prune
|
|
72
|
+
docker rm -vf $$(docker ps -aq)
|
|
73
|
+
docker rmi -f $$(docker images -aq)
|
getmail-6.19.5/PKG-INFO
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: getmail
|
|
3
|
+
Version: 6.19.5
|
|
4
|
+
Summary: a mail retrieval, sorting, and delivering system
|
|
5
|
+
Home-page: https://www.getmail6.org/
|
|
6
|
+
Download-URL: https://github.com/getmail6/getmail6/releases
|
|
7
|
+
Author: Charles Cazabon, Roland Puntaier, and others
|
|
8
|
+
Author-email: charlesc-getmail@pyropus.ca
|
|
9
|
+
Maintainer-email: roland.puntaier@gmail.com
|
|
10
|
+
License: GPL-2.0
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Environment :: Console
|
|
13
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
14
|
+
Classifier: Intended Audience :: System Administrators
|
|
15
|
+
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
|
|
16
|
+
Classifier: Natural Language :: English
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Operating System :: POSIX
|
|
19
|
+
Classifier: Programming Language :: Python
|
|
20
|
+
Classifier: Topic :: Communications :: Email
|
|
21
|
+
Classifier: Topic :: Communications :: Email :: Filters
|
|
22
|
+
Classifier: Topic :: Communications :: Email :: Post-Office :: IMAP
|
|
23
|
+
Classifier: Topic :: Communications :: Email :: Post-Office :: POP3
|
|
24
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
25
|
+
Classifier: Topic :: Utilities
|
|
26
|
+
|
|
27
|
+
.. vim: syntax=rst
|
|
28
|
+
|
|
29
|
+
.. docs/COPYING 2a + DRY: https://github.com/getmail6/getmail6
|
|
30
|
+
.. Please refer to the git history regarding who changed what and when in this file.
|
|
31
|
+
|
|
32
|
+
Description
|
|
33
|
+
===========
|
|
34
|
+
|
|
35
|
+
getmail6 is a flexible, extensible mail retrieval system with
|
|
36
|
+
support for POP3, IMAP4, SSL variants of both, maildirs, mboxrd files,
|
|
37
|
+
external MDAs, arbitrary message filtering, single-user and domain-mailboxes,
|
|
38
|
+
and many other useful features.
|
|
39
|
+
|
|
40
|
+
Licence
|
|
41
|
+
=======
|
|
42
|
+
|
|
43
|
+
getmail is Copyright (C) 1998-2024 Charles Cazabon and others.
|
|
44
|
+
getmail is licensed for use under the GNU General Public License version 2 (only).
|
|
45
|
+
See ``docs/COPYING`` for specific terms and distribution information.
|
|
46
|
+
|
|
47
|
+
Bugs
|
|
48
|
+
====
|
|
49
|
+
|
|
50
|
+
getmail6 has adaptations to work with Python 3.
|
|
51
|
+
These changes might still contain some bugs.
|
|
52
|
+
Please report them at https://github.com/getmail6/getmail6.
|
|
53
|
+
See ``docs/BUGS`` for instructions on reporting bugs.
|
|
54
|
+
|
|
55
|
+
Installation
|
|
56
|
+
============
|
|
57
|
+
|
|
58
|
+
To install::
|
|
59
|
+
|
|
60
|
+
pip install getmail6
|
|
61
|
+
|
|
62
|
+
To uninstall::
|
|
63
|
+
|
|
64
|
+
pip uninstall getmail6
|
|
65
|
+
|
|
66
|
+
You can install getmail6 in your home directory if you add ``--user``.
|
|
67
|
+
|
|
68
|
+
If getmail6 is available via your Linux distribution, you better use that.
|
|
69
|
+
|
|
70
|
+
Usage
|
|
71
|
+
=====
|
|
72
|
+
|
|
73
|
+
getmail6 is not a python API.
|
|
74
|
+
getmail6 provides command line tools:
|
|
75
|
+
|
|
76
|
+
- getmail
|
|
77
|
+
- getmail_maildir
|
|
78
|
+
- getmail_mbox
|
|
79
|
+
- getmail_fetch
|
|
80
|
+
- getmail-gmail-xoauth-tokens
|
|
81
|
+
|
|
82
|
+
Configuration
|
|
83
|
+
=============
|
|
84
|
+
|
|
85
|
+
Before using ``getmail`` you must configure it.
|
|
86
|
+
See ``docs/configuration.txt`` and ``docs/getmailrc-examples``.
|
|
87
|
+
An example::
|
|
88
|
+
|
|
89
|
+
[retriever]
|
|
90
|
+
type = SimpleIMAPSSLRetriever
|
|
91
|
+
server = imap.gmail.com
|
|
92
|
+
port = 993
|
|
93
|
+
username = <your_email_here>
|
|
94
|
+
#password = ... or
|
|
95
|
+
password_command = ("pass", "<your_email_here>")
|
|
96
|
+
|
|
97
|
+
[destination]
|
|
98
|
+
type = Maildir
|
|
99
|
+
path = ~/Mail/<your_email_here>/INBOX/
|
|
100
|
+
|
|
101
|
+
[options]
|
|
102
|
+
read_all = true
|
|
103
|
+
delete = true
|
|
104
|
+
|
|
105
|
+
Gmail
|
|
106
|
+
=====
|
|
107
|
+
|
|
108
|
+
For **gmail**,
|
|
109
|
+
after having enabled 2-Step Authentication,
|
|
110
|
+
let google generate an "app password" for you.
|
|
111
|
+
Then, for the above example,
|
|
112
|
+
use ``pass edit <your_email_here>`` and change to the generate one.
|
|
113
|
+
|
|
114
|
+
- Go to https://mail.google.com
|
|
115
|
+
- If you are signed in, on the left upper corner there is a cogwheel symbol for settings
|
|
116
|
+
- Choose "See all Settings"
|
|
117
|
+
- "Accounts and Imports" tab, then "Other Google Account Settings"/"Security" brings you to
|
|
118
|
+
https://myaccount.google.com/u/0/security?hl=en
|
|
119
|
+
- Turn on "2-Step Verification" (also known as 2-factor-authentication or 2FA)
|
|
120
|
+
- In "App passwords", generate a password for your device
|
|
121
|
+
- Update this in your password command.
|
|
122
|
+
|
|
123
|
+
See also: https://support.google.com/accounts/answer/185833
|
|
124
|
+
|
|
125
|
+
getmail is a native app.
|
|
126
|
+
See
|
|
127
|
+
https://developers.google.com/identity/protocols/oauth2/native-app
|
|
128
|
+
Still, to download your email from gmail to your computer using OAuth2
|
|
129
|
+
you need to grant getmail OAuth2 access to the scope ``https://mail.google.com/``,
|
|
130
|
+
as you would to web apps.
|
|
131
|
+
Unfortunately, the init step in example 12 in ``docs/getmailrc-examples``
|
|
132
|
+
has to be repeated regularly.
|
|
133
|
+
This makes the *app password* method above a better alternative.
|
|
134
|
+
Don't forget to remove the ``use_xoauth2`` line,
|
|
135
|
+
if you switch from Oauth2 to *app password*.
|
|
136
|
+
|
|
137
|
+
Tests
|
|
138
|
+
=====
|
|
139
|
+
|
|
140
|
+
There is now a test folder that uses
|
|
141
|
+
`docker-mailserver <https://github.com/docker-mailserver/docker-mailserver>`__
|
|
142
|
+
for black box testing.
|
|
143
|
+
|
|
144
|
+
Tests are work in progress.
|
|
145
|
+
|
|
146
|
+
Documentation
|
|
147
|
+
=============
|
|
148
|
+
|
|
149
|
+
See the HTML documentation for details on setting up and using ``getmail``.
|
|
150
|
+
|
|
151
|
+
::
|
|
152
|
+
|
|
153
|
+
docs/documentation.html
|
|
154
|
+
docs/configuration.html
|
|
155
|
+
docs/faq.html
|
|
156
|
+
docs/troubleshooting.html
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
It is included in the ``docs`` subdirectory,
|
|
160
|
+
and will be installed in ``<PREFIX>/doc/getmail-<version>/`` (by default).
|
|
161
|
+
|
|
162
|
+
|
getmail-6.19.5/README
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
.. vim: syntax=rst
|
|
2
|
+
|
|
3
|
+
.. docs/COPYING 2a + DRY: https://github.com/getmail6/getmail6
|
|
4
|
+
.. Please refer to the git history regarding who changed what and when in this file.
|
|
5
|
+
|
|
6
|
+
Description
|
|
7
|
+
===========
|
|
8
|
+
|
|
9
|
+
getmail6 is a flexible, extensible mail retrieval system with
|
|
10
|
+
support for POP3, IMAP4, SSL variants of both, maildirs, mboxrd files,
|
|
11
|
+
external MDAs, arbitrary message filtering, single-user and domain-mailboxes,
|
|
12
|
+
and many other useful features.
|
|
13
|
+
|
|
14
|
+
Licence
|
|
15
|
+
=======
|
|
16
|
+
|
|
17
|
+
getmail is Copyright (C) 1998-2024 Charles Cazabon and others.
|
|
18
|
+
getmail is licensed for use under the GNU General Public License version 2 (only).
|
|
19
|
+
See ``docs/COPYING`` for specific terms and distribution information.
|
|
20
|
+
|
|
21
|
+
Bugs
|
|
22
|
+
====
|
|
23
|
+
|
|
24
|
+
getmail6 has adaptations to work with Python 3.
|
|
25
|
+
These changes might still contain some bugs.
|
|
26
|
+
Please report them at https://github.com/getmail6/getmail6.
|
|
27
|
+
See ``docs/BUGS`` for instructions on reporting bugs.
|
|
28
|
+
|
|
29
|
+
Installation
|
|
30
|
+
============
|
|
31
|
+
|
|
32
|
+
To install::
|
|
33
|
+
|
|
34
|
+
pip install getmail6
|
|
35
|
+
|
|
36
|
+
To uninstall::
|
|
37
|
+
|
|
38
|
+
pip uninstall getmail6
|
|
39
|
+
|
|
40
|
+
You can install getmail6 in your home directory if you add ``--user``.
|
|
41
|
+
|
|
42
|
+
If getmail6 is available via your Linux distribution, you better use that.
|
|
43
|
+
|
|
44
|
+
Usage
|
|
45
|
+
=====
|
|
46
|
+
|
|
47
|
+
getmail6 is not a python API.
|
|
48
|
+
getmail6 provides command line tools:
|
|
49
|
+
|
|
50
|
+
- getmail
|
|
51
|
+
- getmail_maildir
|
|
52
|
+
- getmail_mbox
|
|
53
|
+
- getmail_fetch
|
|
54
|
+
- getmail-gmail-xoauth-tokens
|
|
55
|
+
|
|
56
|
+
Configuration
|
|
57
|
+
=============
|
|
58
|
+
|
|
59
|
+
Before using ``getmail`` you must configure it.
|
|
60
|
+
See ``docs/configuration.txt`` and ``docs/getmailrc-examples``.
|
|
61
|
+
An example::
|
|
62
|
+
|
|
63
|
+
[retriever]
|
|
64
|
+
type = SimpleIMAPSSLRetriever
|
|
65
|
+
server = imap.gmail.com
|
|
66
|
+
port = 993
|
|
67
|
+
username = <your_email_here>
|
|
68
|
+
#password = ... or
|
|
69
|
+
password_command = ("pass", "<your_email_here>")
|
|
70
|
+
|
|
71
|
+
[destination]
|
|
72
|
+
type = Maildir
|
|
73
|
+
path = ~/Mail/<your_email_here>/INBOX/
|
|
74
|
+
|
|
75
|
+
[options]
|
|
76
|
+
read_all = true
|
|
77
|
+
delete = true
|
|
78
|
+
|
|
79
|
+
Gmail
|
|
80
|
+
=====
|
|
81
|
+
|
|
82
|
+
For **gmail**,
|
|
83
|
+
after having enabled 2-Step Authentication,
|
|
84
|
+
let google generate an "app password" for you.
|
|
85
|
+
Then, for the above example,
|
|
86
|
+
use ``pass edit <your_email_here>`` and change to the generate one.
|
|
87
|
+
|
|
88
|
+
- Go to https://mail.google.com
|
|
89
|
+
- If you are signed in, on the left upper corner there is a cogwheel symbol for settings
|
|
90
|
+
- Choose "See all Settings"
|
|
91
|
+
- "Accounts and Imports" tab, then "Other Google Account Settings"/"Security" brings you to
|
|
92
|
+
https://myaccount.google.com/u/0/security?hl=en
|
|
93
|
+
- Turn on "2-Step Verification" (also known as 2-factor-authentication or 2FA)
|
|
94
|
+
- In "App passwords", generate a password for your device
|
|
95
|
+
- Update this in your password command.
|
|
96
|
+
|
|
97
|
+
See also: https://support.google.com/accounts/answer/185833
|
|
98
|
+
|
|
99
|
+
getmail is a native app.
|
|
100
|
+
See
|
|
101
|
+
https://developers.google.com/identity/protocols/oauth2/native-app
|
|
102
|
+
Still, to download your email from gmail to your computer using OAuth2
|
|
103
|
+
you need to grant getmail OAuth2 access to the scope ``https://mail.google.com/``,
|
|
104
|
+
as you would to web apps.
|
|
105
|
+
Unfortunately, the init step in example 12 in ``docs/getmailrc-examples``
|
|
106
|
+
has to be repeated regularly.
|
|
107
|
+
This makes the *app password* method above a better alternative.
|
|
108
|
+
Don't forget to remove the ``use_xoauth2`` line,
|
|
109
|
+
if you switch from Oauth2 to *app password*.
|
|
110
|
+
|
|
111
|
+
Tests
|
|
112
|
+
=====
|
|
113
|
+
|
|
114
|
+
There is now a test folder that uses
|
|
115
|
+
`docker-mailserver <https://github.com/docker-mailserver/docker-mailserver>`__
|
|
116
|
+
for black box testing.
|
|
117
|
+
|
|
118
|
+
Tests are work in progress.
|
|
119
|
+
|
|
120
|
+
Documentation
|
|
121
|
+
=============
|
|
122
|
+
|
|
123
|
+
See the HTML documentation for details on setting up and using ``getmail``.
|
|
124
|
+
|
|
125
|
+
::
|
|
126
|
+
|
|
127
|
+
docs/documentation.html
|
|
128
|
+
docs/configuration.html
|
|
129
|
+
docs/faq.html
|
|
130
|
+
docs/troubleshooting.html
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
It is included in the ``docs`` subdirectory,
|
|
134
|
+
and will be installed in ``<PREFIX>/doc/getmail-<version>/`` (by default).
|
|
135
|
+
|
|
136
|
+
|
getmail-6.19.5/docs/BUGS
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
Known bugs
|
|
2
|
+
==========
|
|
3
|
+
|
|
4
|
+
None, but we are very interested in hearing your experiences with
|
|
5
|
+
using this version with Python version 3 or newer.
|
|
6
|
+
|
|
7
|
+
Reporting bugs
|
|
8
|
+
==============
|
|
9
|
+
|
|
10
|
+
Before reporting a problem
|
|
11
|
+
--------------------------
|
|
12
|
+
|
|
13
|
+
If you want to report a getmail problem, please ensure
|
|
14
|
+
|
|
15
|
+
- you are running the latest version of getmail from the
|
|
16
|
+
website at http://getmail6.org/
|
|
17
|
+
|
|
18
|
+
- you have installed getmail from the .tar.gz file I provide
|
|
19
|
+
|
|
20
|
+
Then follow the rest of the instructions below.
|
|
21
|
+
|
|
22
|
+
How to report a problem with getmail
|
|
23
|
+
------------------------------------
|
|
24
|
+
|
|
25
|
+
IMPORTANT: Please include the output of
|
|
26
|
+
|
|
27
|
+
getmail [your usual options] --dump
|
|
28
|
+
|
|
29
|
+
and a copy of your getmail rc file(s) (with password masked) with any
|
|
30
|
+
bug report.
|
|
31
|
+
|
|
32
|
+
If you find a bug in getmail, please open an issue on GitHub at
|
|
33
|
+
https://github.com/getmail6/getmail6/issues
|