- add `ignore_header_shrinkage` parameter to Filter_external for users
who know it is normal for their particular filter to result in a
smaller message header than the source message, for example when the
filter encapsulates the original message in a simpler wrapper message.
Thanks: "RW", Tristan Miller, Francesco Ariis.
- EXPERIMENTAL: when deleting a message from an IMAP mailbox, set the
\Seen flag in addition to the the \Deleted flag. This apparently
prevents the ever-innovatively-broken MSExchange from sending a
spurious incorrect disposition-notification message to the sender of
the message. I do not know if this will cause problems with other
broken IMAP server implementations; please send a report to the getmail-
user's mailing list if you see odd behaviour with this change. Thanks:
John Hein.
- enable socket timeouts for IMAP SSL classes by default. They were
disabled in the code because they were incompatible with SSL in older
versions of Python. If you see problems with Python 2.6 or 2.7 now,
please let me know.
- make IMAP class only issue EXPUNGE command on mailbox close if we have
actually deleted any messages from the open mailbox. Makes use of read-
only IMAP folders possible. Thanks: Zoltan Padrah.
- work around brain-damaged change in Python's poplib which causes
message retrieval errors if any line of a message has more than
2048 characters in it.
- restore link to moved Marc mailing list archive. Thanks: David
J. Weller-Fahy.
- try to work around pathological breakage in one random POP server
implementation. Thanks: Michael Thomas Kockmeyer.
- remove dead marc.theaimsgroup.com list archive from docs. Thanks:
Miroslav Rovis.
- bugfix: if you combined IMAP IDLE mode with delete_after, getmail would,
after remaining connected to the server for the number of days
configured, begin deleting messages immediately after retrieval
instead of after the configured delay. Now fixed. Thanks:
Johannes Weißl.
- fix --idle checking Python version incorrectly, resulting in
incorrect warning about running with Python < 2.5. Thanks: "Voytek",
Krzysztof Warzecha.
- add missing support for SSL certificate checking in POP3 which
broke POP retrieval in v4.45.0. Requires Python 2.6 or newer.
Thanks: "mancha".
- perform hostname-vs-certificate matching of SSL certificate if
validating the certifcate. Thanks: "mancha".
- fix missing plaintext versions of documentation.
Updating this leaf package during the freeze for the security fix.
- add extended SSL options for IMAP retrievers, allowing certificate
verification and other features. Thanks: Steven Murdoch.
- fix missing plaintext versions of documentation. Thanks: Osamu Aoki.
- fix "Header instance has no attribute 'strip'" error which cropped
up in some configurations. Thanks: Krzysztof Warzecha.
Updating this leaf package during the freeze for security improvements
and bugfixes.
- messages retrieved with POP could have a blank trailing line
removed when delivered; fixed. Thanks: Christoph Mitterer, Krzysztof
Warzecha.
- fix an ImportError when IMAP retriever used with getmail under
Python 2.4.
- increase system recursion limit when run with Python 2.3, to
prevent recursion errors in parsing some pathologically complex
MIME emails. Thanks: Kenneth Pronovici.
- again change protocol codes passed to OSX, as they're not only
reserved codes, but also case-sensitive. Use the ones an OSX user
reports work properly. Thanks: Tim Gray.
- convert SIGTERM to SIGINT so getmail can cleanup and exit normally
if killed with a default signal. Thanks: Carl Lei.
- fix change which resulted in passing full protocol name to OSX
keyring program, which can't handle it (restricted to 4-character
code). Thanks: Tim Gray.
- fix a bug that could crop up when retrieving mail via IMAP from
Gmail, and the Gmail servers provided weird data in their header
extensions. Thanks: Krzysztof Warzecha.
- fix retrieving mail from an IMAP mailbox with non-ASCII characters
in its name causing difficult-to-understand unicode errors during
delivery. Thanks: "fsLeg", Krzysztof Warzech.
- handle IMAP servers which include "/" in message IDs better, so
those messages aren't always thought to be new. Thanks: Bradley
Rintoul.
- record (IMAP) mailbox retrieved from in X-getmail-retrieved-from-mailbox:
header field, and make it available as %(mailbox) substitution
in MDA_external arguments. Thanks: Les Barstow.
- add delete_bigger_than option to allow removal of large messages
after retrieval, even if not deleting messages otherwise. Thanks:
Jan Vereecke.
- fix From_ quoting in mbox delivery; use of the Python stdlib
function meant getmail was incorrectly using mboxo-style quoting
instead of mboxrd quoting, probably since early in the v4 series.
Thanks: Christoph Mitterer.
- allow normal exit on interrupt (ctrl-c) to allow the uesr to abort
message retrieval while still remembering already-retrieved
messages as successfully delivered. You may get a weird error
message after you abort, since the server may be in the middle
of delivering another message to getmail at the time. Thanks:
Krzysztof Warzecha.
- prevent some nuisance stack traces if getmail cannot connect to
the POP/IMAP server correctly. Thanks: Daniel Dumke.
- restore use_peek IMAP retriever parameter which accidentally got
removed in 4.30. Thanks: Andreas Amann.
- improved backwards compatibility with pre-v.4.22.0 oldmail files,
so IMAP mail is not re-retrieved if you upgrade from a 4.22 or
earlier to this one; no user action necessary. Thanks: Osamu Aoki,
Tim van der Molen.
- fix a nuisance stack trace that would be dumped if a connection
failed in particular states. Thanks: Gary Schmidt.
Updating this leaf package during the freeze for the bugfix.
- silence a nuisance deprecation warning about the sets module when
running with Python >= 2.5 which was reintroduced in 4.29.0.
Thanks: Stephan Schulz.
- fix breakage introduced in 4.29.0 where BrokenUIDLPOP3Retriever
would fail with a TypeError at logout time. Thanks: Scott Robbins,
Stephan Schulz.
- fix breakage introduced in 4.29.0 where deleted mail was not being
expunged from the last (or only) folder retrieved from in an IMAP
session. Thanks: Paul Howarth.
- update old contact information for Free Software Foundation.
Thanks: Ricky Zhou.
- fix incorrect character encoding in plaintext documentation.
Thanks: Ricky Zhou.
- ensure getmail exits nonzero if a server refuses login due to a
credential problem. Thanks: Stephan Schulz.
- ensure getmail exits nonzero if various error conditions (like
POP/IMAP authentication failure) occur. Thanks: Ryan J., Stephan
Schulz.
- python versions prior to 2.5.0 contain a bug when dealing with
read-only IMAP mailboxes. Monkey-patch imaplib when running with
Python<2.5.0. Thanks: Les Barstow.
- do IMAP modified-utf7 conversion of mailbox names containing
non-ASCII characters. Thanks: A. Lapraitis, Randall Mason.
- add special ALL value for retrieving mail from all selectable
IMAP mailboxes in the account.
- change IMAP retrieval strategy to retrieve all messages from a
mailbox, then move on to the next mailbox, etc. Should result in
increased speed, but if you set `max_messages_per_session` too
low, this could result in later mailboxes not being retrieved
from.
Updating this leaf package during the freeze for bugfixes.
-make use of IMAP BODY.PEEK configurable; set the IMAP retriever parameter
`use_peek` to False to disable use of PEEK to get getmail's historical IMAP
behaviour.
- switch to using BODY.PEEK in IMAP retrieval; I no longer see
problems with this feature in my testing. If users experience
incompatibility with any IMAP servers where 4.25.0 worked, please
let me know.
- add an explicit expunge when closing an IMAP mailbox, for servers that
incorrectly do not do this when the mailbox is closed. Thanks: Nicolas
Pomarède.
- fix incorrect section reference for `mailboxes` parameter in documentation.
Thanks: Ross Boylan.
- fix getmail_fetch broken in 4.21.0. Thanks: Chris Donoghue.
-when retriever supports multiple mail folders (IMAP), store oldmail data for
each folder separately, preventing problems in some cases when using multiple
rc files with the same account. Thanks: Jesse Schobben.
While here, add a patch comment to quell pkglint.
-automatically open IMAP folders read-only if neither the delete nor
delete_after options are in use; necessary to access chatlogs via Gmail.
Thanks: Daniel M. Drucker.
-avoid sorting msgids on each retrieval, reducing overhead when dealing with
folders containing thousands of messages. Thanks: Daniel Koukola.
-ensure correct remote address and port is included in the Received: trace
headers generated by getmail. Previously the first address found for the
server was used even if another address was actually used to connect to the
server. Thanks: Frederic Perrin.
-update broken link in FAQ. Thanks: Stefan Kangas.
-strip a few extra problematic (on non-Unix systems) characters when
generating oldmail filenames; backslash was requested by Andy Ross.
If upgrading and your current oldmail file contains any of these
characters:
\ ; < > |
... then rename it, replacing runs of one or more of those characters with
a single "-".
-improve clarity of message logged by getmail when an external program exits
0 but getmail considers it failed because it wrote to stderr. Thanks:
Chris Dennis.
- change to how getmail counts messages in an IMAP mailbox; prevents problems
where getmail would only see the first 500 messages in a mailbox with some
IMAP servers that return oddball responses to SELECT. Thanks: David Damerell.