When not using decode_data=True, smtpd may provide keyword arguments to the
process_message user-implemented method. This doc update is intended to make
it clear that arbitrary keywords must be supported, so that we can add
additional features in the future by just adding keywords to the
process_message call.
Patch by Milan Oberkirch, with a few updates. This changeset also
tweaks the smtpd and whatsnew docs for smtpd into what should be
the final form for the 3.5 release.
Patch by Milan Oberkirch, developed as part of his 2014 GSOC project.
Note that this also fixes a bug in mock_socket ('getpeername' was returning a
simple string instead of the tuple required for IPvX protocols), a bug in
DebugServer with respect to handling binary data (should have been fixed when
decode_data was introduced, but wasn't found until this patch was written),
and a long-standing bug in DebugServer (it was printing an extra blank line at
the end of the displayed message text).
Otherwise smtpd is restricted to 7bit clean data, since even if the
incoming data is actually utf-8, it will often break things to decode
it before parsing the message.
Patch by Maciej Szulik, with some adjustments (mostly the warning
support).
smtpd now handles EHLO and has infrastructure for extended smtp command mode.
The SIZE extension is also implemented. In order to support parameters on
MAIL FROM, the RFC 5322 parser from the email package is used to parse the
address "token".
Logging subclasses things and overrides __init__, so it was necessary to
update those __init__ functions in the logging tests to make the logging tests
pass.
The original suggestion and patch were by Alberto Trevino. Juhana Jauhiainen
added the --size argument and SIZE parameter support. Michele Orrù improved
the patch and added more tests. Dan Boswell conditionalized various bits of
code on whether or not we are in HELO or EHLO mode, as well as some other
improvements and tests. I finalized the patch and added the address parsing.
Changes the previously private attributes to make them public, increasing the potential for extending the library in user code. Backward-compatible and documented.
svn+ssh://pythondev@svn.python.org/python/trunk
........
r62490 | benjamin.peterson | 2008-04-24 20:29:10 -0500 (Thu, 24 Apr 2008) | 2 lines
reformat some documentation of classes so methods and attributes are under the class directive
........