| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| |
|
|
| |
and mm_cfg.USE_ENVELOPE_SENDER = Yes
|
| | |
|
| |
|
|
|
| |
See the thread beginning this post:
http://mail.python.org/pipermail/mailman-users/2005-September/046460.html
|
| |
|
|
|
| |
message size calculations (and a few others) from the 2.1 maintenance
release.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
tries to convert t to something reasonable <wink>, we need to use
errors='replace' when we encode from unicode to string. This is
because the preceding unicode('ascii', 'replace') could end up
inserted U+FFFD, which can't be encoded to ascii.
|
| |
|
|
|
|
| |
digest.mbox file. This is the same technique that the archiver uses,
and should fix Chuq's problem with missing trailing newline separators
in digest messages.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
the message was pulled from nntp. I'm not 100% sure this is the right
solution (e.g. should this be a list config option?) but it fixes the
problem that Mike Avery was having, and that we'll soon have when we
move python-list!
Backport candidate.
|
| |
|
|
|
| |
also. Apparently this is a header that Hotmail adds. Closes patch
#725369 by Roger Tsang.
|
| | |
|
| |
|
|
|
|
|
|
| |
SMTP_MAX_SESSIONS_PER_CONNECTION not being honored and connection
problems in the middle of a session not being properly recovered.
Closing SF bug #707624, although I implemented this in a different
way.
|
| |
|
|
|
|
| |
RFC 2822 compliant. Only zero or one CC header is allowed.
Also, True/False where appropriate. Whitespace normalization.
|
| |
|
|
| |
scrubbing of attachments in MIME digest messages.
|
| | |
|
| |
|
|
|
|
| |
the Subject of the autoreply. This prevents funky characters in say
the comment field of the To header from tripping up the reply
message. Keep Thomas's Message.py fix as a fallback.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Jr, after much checking and rechecking (and some massaging) by me. Checking
in now before I fall asleep and forget what all this was for.
This patch adds the ability to 'make DESTDIR=/some/dir/tree install' that
doesn't influence the paths stored in e.g. Defaults.py at all, which is of
good use for various package managers. It is not all that package managers
must do, however! Running make install with DESTDIR set means bin/update is
never run, and mm_cfg.py is always written; package managers should make
sure the appropriate post-installation is done, and that mm_cfg.py is
treated as a config file.
This patch inadvertently fixes some bogus whitespace: 8-spaces where
surrounding code used tabs. The difference was harmless because the 8-spaces
were used inside shell-continued-oneliners, but it is confusing and could
lead to future harm. I'm too tired to make those two or three changes in a
separate checkin, sorry.
This patch also assumes the various packages that are installed using
distutils do not record (or rather, use) their installation paths anywhere,
but this seems to hold true at least for the moment.
Also, I've done so many slow cvs diff's, I'm wondering when we'll switch to
Subversion. Unfortunately, I've also done so many 'cvs diff -c > file; patch
-p0 -R < file's to switch back and forth between patches and change sets,
I'm wondering when we'll switch to Aegis as well. :-P
|
| | |
|
| |
|
|
| |
more log messages, minus an i18nization of 'n/a'.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
digests. Specifically,
lheader() -> oneline(): Also, get rid of **kws since we're not going
to use these. Catch any LookupError or UnicodeError that may occur,
but do the .encode() with 'replace' for a better chance to succeed.
send_i18n_digests(): Use Utils.wrap() to wrap the subject headers, and
also in the kept headers in plain text digests. Eliminate the blank
line between subjects in the ToC.
|
| |
|
|
| |
a round trip through flattening.
|
| |
|
|
| |
stringify it before calling .splitlines().
|
| |
|
|
|
| |
calculating the verp header, we log a message and skip this recipient,
because we can't possibly deliver to this person via verp.
|
| |
|
|
| |
text. You can't splitlines None.
|
| |
|
|
| |
successfully called makedirs().
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I've modified it though, so any brokenness is my fault. Specifically,
KEEP: Removed in favor of Default.py.in's MIME_DIGEST_KEEP_HEADERS.
process(): Use Generator.flatten() instead of the deprecated __call__
syntax.
send_i18n_digest(): Make sure things like the Subject headers in the
toc are coerced to the language the digest is being sent in (i.e. the
list's preferred language). Make sure the masthead, header and footer
attachments also get the right matching charset attribute. Make sure
that the username extracted from the From header is also in the right
character set. Use the Header object for proper wrapping of the
Subject lines in the toc, not Utils.wrap() which was broken and not
i18n aware.
Add a blank line between entries in the toc (might be controversial).
Send messages in the plain text digest through the scrubber so
attachments (and their MIME goo) don't mess up the plain text digests.
lheader(): New convenience function.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
even after adding the prefix. Specifically,
uheader(): Accepts a continuation_ws parameter which is passed
straight through to the Header constructor call.
prefix_subject(): Split the pre-prefixed Subject: header into lines
and get the continuation_ws character from the first continuation line
(it won't matter if there is no continuation line). Pass this to
uheader().
|
| |
|
|
|
|
|
|
|
|
|
|
| |
guess_all_extensions(): Python 2.1 doesn't have mimetypes.common_types.
guess_extension(): all could be empty.
process(): Need separate try/except clauses for the conversion to
unicode, and the conversion to 8-bit strings.
Also, use endswith() instead of t[-1] to be more robust against empty
strings.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to fix the other scrubber bugs, and use better Message API.
Specifically,
guess_extension(): Use mimetypes.guess_all_extensions() to try to find
a match between the claimed extension and the claimed content-type.
If they match, then just believe it, otherwise, use the first
extension guessed. We can still get weird ones because mimetypes has
no notion of a priority of mappings from extension to type.
process(): Everywhere we set a part's payload to the "scrubbed"
message text, first delete the Content-Type header, allowing
set_payload() with a character set to set the header, along with the
proper charset parameter.
|
| |
|
|
| |
deprecated .get_type() method.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
header to the headers and footers parts as a hint to persnickety
clients (not mentioning Outlook here) that the text should be
displayed inline instead of as attachments.
It does no harm so even if it doesn't completely fix the problem it
sounds like a good idea.
|
| |
|
|
|
| |
system call) during the conn.sendmail() call. This just sets the
message up to retry later.
|
| |
|
|
|
| |
correct character set for the matching language. Closes SF bug
#659157.
|
| |
|
|
|
|
|
| |
the archiver. Martin says:
- Fixes a bug in the scrubber, where a content-transfer-encoding might
have survived flattening of the message.
|
| |
|
|
|
| |
content-type in the inner messages when wrapping for decoration
purposes.
|
| |
|
|
| |
header/footer attachments. Closes SF #652910.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
See the comment, and this archived message.
http://mail.python.org/pipermail/mailman-developers/2002-November/014034.html
|
| |
|
|
|
| |
header isn't known, we fall back to the charset of the list's
preferred language, with 'replace' of course.
|
| |
|
|
| |
them.
|