- 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.
- handle additional cases where IMAP (and for good measure, POP3) server is
broken and offers a message that it then fails to return. Thanks: Eric
Waguespack.
- fix --dump not generating any output for rcfiles containing
"verbose = 0" option. Thanks: Morty Abzug.
- fix copy-and-paste error in documentation of MultiSorter destination.
Thanks: Roland Hill.
- add "message_log_verbose" option, defaulting to false. If true,
the message_log file (and syslog, if used) will contain a little
more information than the default of just messages retrieved.
Thanks: Matthias Andree, Gregory Morozov.
- if oldmail file is corrupted on disk (by system crash, perhaps),
handle it gracefully. Some lines may be lost (and messages therefore
re-retrieved), but operation will continue, with the corrupt lines
logged. Thanks: Domen Puncer.
- add Kerberos authentication support to IMAP retriever classes.
Thanks: Guido Günther, Uli M.
- clarify documentation regarding MDA_external. Thanks: AJ Weber.
- eliminate deprecation warning for sets module with Python 2.6 by
using a compatibility wrapper module.
-Add missing fsync() in updatefile close method to ensure data actually
hits disk before the rename takes place, to make writing of the oldmail
file more resilient to system crashes. Thanks: Domen Puncer.