| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
|
|
|
|
| |
that to the StringIO constructor. Useful for subclassing.
UserNotification: Very useful subclass of OutgoingMessage which takes
a recipient, a sender, a subject, and the message text, and sets the
appropriate headers and `recips' attribute for use in the message
pipeline.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
object, which supports a writeable interface. Lots of cruft can go.
Message.Message: Some of the API methods from previous incarnations
are kept for convenience, notably: GetSender(), GetEnvelopeSender(),
GetSenderTame.
Message.__str__(): Flatten the message by concatenating its headers,
adding a newline, and the message's body.
OutgoingMessage(): convenience class for creating a Message object out
of thin air.
|
| |
|
|
|
|
| |
Utils.DeliverToUser(): Don't add a Date: header even if one is missing
in the message. The MTA will always insert an RFC822 compliant header
(and we weren't compliant anyway).
|
| |
|
|
| |
are valid.
|
| |
|
|
|
|
|
|
|
| |
Mailman.
IncomingMessage.SetHeader(): This messed up when changing headers that
spanned multiple lines -- changed it to use rfc822.Message's
emulation of a mapping type, which seems to get this right.
IncomingMessage.__delitem__(): Removed, inherit from rfc822.Message
instead.
|
| | |
|
| |
|
|
| |
getallrecipients() method.
|
| |
|
|
|
|
|
|
| |
1) OutgoingMessage.__delitem__() when name is missing probably ought
to raise an exception instead of returning None.
2) There probably ought to be at least also an
OutgoingMessage.__setitem__() too.
|
| |
|
|
|
| |
and added note about change to distributed rfc822.py as of 1.5.2 - but
we'll want to wait a good while before we switch over to that...
|
| |
|
|
|
|
|
|
|
|
| |
a message to the -admin address to the owners untouched and with the
sender of the original message
Added a GetEnvelopeSender method to Message.py that attempts to find the
envelope sender from a messages's unix from line for use by DeliverToOwner
changed the mailowner script to use DeliverToOwner method instead of
the DeliverToList method
scott
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
optional "crush_duplicates" was set to 0, because the msg.dict would
get the new entry, but the msg.headers would not. I've changed the
code so that the non-crush_duplicates addition to msg.headers would
happen whenever the header is new, regardless of crush_duplicates
setting. (Of course, the newness of the header means there are no
duplicates to crush...)
Incidentally! John, there's a line at the top of this routine whose
purpose i don't understand - i think it was there when i got the code,
so i'm wondering if you know about it. It's the first line of code in
the routine:
name = "%s%s" % (name[0], name[1:])
The only thing i can think this would serve is to establish that the
length of the name is at least 1 - seems to me it would be more
efficient and clear to make the check explicit, if that's the purpose,
avoid the assignment, etc. I suspect i'm missing something here - can
you shed any light??
|
| | |
|
| |
|
|
|
|
| |
readline() and not readlines() as advertised.
Also, added a subclass to IncomingMessage called NewsMessage, making
it easier to add news-specific headers, etc.
|
| |
|
|
|
| |
This was motivated by the fact that nntplib expects a file object on which
it calls readlines().
|
| | |
|
| |
|
|
|
|
|
| |
do so.
Added a copy of the GNU GPL.
Added information about mailman-users in README, and reworded some text in there (made the credits less verbose... perhaps they should move to a credits file?)
|
| |
|
|
|
| |
will be used, and it uses maillist-specific digest stuff
(e.g. DIGEST_MASTHEAD).
|
| |
|
|
| |
relocate the repository.)
|
| |
|
|
| |
from .SetHeaders() so the __delitem__ can use it.
|
| |
|
|
|
| |
provided a refinement of the code that's not naive about continuation
lines.)
|
| | |
|
| |
|
|
| |
__version__ info.
|
| |
|
|
|
| |
lines. (This maybe incorporated directly in the rfc822 class, in
which case this method should eventually be removed...)
|
| | |
|
| |
|