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.
Files changed (61) hide show
  1. getmail-6.19.5/.github/workflows/lint.yml +15 -0
  2. getmail-6.19.5/.gitignore +141 -0
  3. getmail-6.19.5/MANIFEST.in +13 -0
  4. getmail-6.19.5/Makefile +73 -0
  5. getmail-6.19.5/PKG-INFO +162 -0
  6. getmail-6.19.5/README +136 -0
  7. getmail-6.19.5/docs/BUGS +33 -0
  8. getmail-6.19.5/docs/CHANGELOG +1800 -0
  9. getmail-6.19.5/docs/COPYING +339 -0
  10. getmail-6.19.5/docs/HACKING +4 -0
  11. getmail-6.19.5/docs/THANKS +64 -0
  12. getmail-6.19.5/docs/configuration.html +3445 -0
  13. getmail-6.19.5/docs/configuration.txt +1899 -0
  14. getmail-6.19.5/docs/documentation.html +602 -0
  15. getmail-6.19.5/docs/documentation.txt +316 -0
  16. getmail-6.19.5/docs/faq.html +1676 -0
  17. getmail-6.19.5/docs/faq.txt +1152 -0
  18. getmail-6.19.5/docs/getmail.1 +79 -0
  19. getmail-6.19.5/docs/getmail_fetch.1 +74 -0
  20. getmail-6.19.5/docs/getmail_maildir.1 +36 -0
  21. getmail-6.19.5/docs/getmail_mbox.1 +45 -0
  22. getmail-6.19.5/docs/getmaildocs.css +34 -0
  23. getmail-6.19.5/docs/getmailrc-examples +498 -0
  24. getmail-6.19.5/docs/getmails.1 +68 -0
  25. getmail-6.19.5/docs/troubleshooting.html +496 -0
  26. getmail-6.19.5/docs/troubleshooting.txt +339 -0
  27. getmail-6.19.5/getmail +1129 -0
  28. getmail-6.19.5/getmail-gmail-xoauth-tokens +189 -0
  29. getmail-6.19.5/getmail.egg-info/PKG-INFO +162 -0
  30. getmail-6.19.5/getmail.egg-info/SOURCES.txt +61 -0
  31. getmail-6.19.5/getmail.egg-info/dependency_links.txt +1 -0
  32. getmail-6.19.5/getmail.egg-info/top_level.txt +1 -0
  33. getmail-6.19.5/getmail_fetch +241 -0
  34. getmail-6.19.5/getmail_maildir +85 -0
  35. getmail-6.19.5/getmail_mbox +87 -0
  36. getmail-6.19.5/getmailcore/__init__.py +40 -0
  37. getmail-6.19.5/getmailcore/_retrieverbases.py +2037 -0
  38. getmail-6.19.5/getmailcore/baseclasses.py +510 -0
  39. getmail-6.19.5/getmailcore/constants.py +12 -0
  40. getmail-6.19.5/getmailcore/destinations.py +1103 -0
  41. getmail-6.19.5/getmailcore/exceptions.py +80 -0
  42. getmail-6.19.5/getmailcore/filters.py +397 -0
  43. getmail-6.19.5/getmailcore/imap_utf7.py +143 -0
  44. getmail-6.19.5/getmailcore/logging.py +131 -0
  45. getmail-6.19.5/getmailcore/message.py +243 -0
  46. getmail-6.19.5/getmailcore/retrievers.py +572 -0
  47. getmail-6.19.5/getmailcore/utilities.py +706 -0
  48. getmail-6.19.5/getmails +91 -0
  49. getmail-6.19.5/pypi.sh +13 -0
  50. getmail-6.19.5/pyproject.toml +94 -0
  51. getmail-6.19.5/setup.cfg +4 -0
  52. getmail-6.19.5/setup.py +118 -0
  53. getmail-6.19.5/test/README.rst +30 -0
  54. getmail-6.19.5/test/docker-compose.yml +36 -0
  55. getmail-6.19.5/test/docker-mailserver-getmail6test/Dockerfile +22 -0
  56. getmail-6.19.5/test/docker-mailserver-getmail6test/entrypoint.sh +17 -0
  57. getmail-6.19.5/test/prepare_test.sh +718 -0
  58. getmail-6.19.5/test/self_sign.sh +103 -0
  59. getmail-6.19.5/test/spam.eml +164 -0
  60. getmail-6.19.5/test/test.py +95 -0
  61. 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
@@ -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)
@@ -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
+
@@ -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