Improved docs for issue27033. Based on comments by R. David Murray.

This commit is contained in:
Serhiy Storchaka 2016-05-29 23:43:24 +03:00
parent ea083fafd5
commit 8c740c4d19
2 changed files with 13 additions and 5 deletions

View File

@ -52,8 +52,8 @@ SMTPServer Objects
cannot be set to ``True`` at the same time. cannot be set to ``True`` at the same time.
*decode_data* specifies whether the data portion of the SMTP transaction *decode_data* specifies whether the data portion of the SMTP transaction
should be decoded using UTF-8. The default is ``False``. When should be decoded using UTF-8. When *decode_data* is ``False`` (the
*decode_data* is not set to ``True`` the server advertises the ``8BITMIME`` default), the server advertises the ``8BITMIME``
extension (:rfc:`6152`), accepts the ``BODY=8BITMIME`` parameter to extension (:rfc:`6152`), accepts the ``BODY=8BITMIME`` parameter to
the ``MAIL`` command, and when present passes it to :meth:`process_message` the ``MAIL`` command, and when present passes it to :meth:`process_message`
in the ``kwargs['mail_options']`` list. *decode_data* and *enable_SMTPUTF8* in the ``kwargs['mail_options']`` list. *decode_data* and *enable_SMTPUTF8*
@ -70,7 +70,7 @@ SMTPServer Objects
format). format).
If the *decode_data* constructor keyword is set to ``True``, the *data* If the *decode_data* constructor keyword is set to ``True``, the *data*
parameter will be a unicode string. If it is set to ``False``, it argument will be a unicode string. If it is set to ``False``, it
will be a bytes object. will be a bytes object.
*kwargs* is a dictionary containing additional information. It is empty *kwargs* is a dictionary containing additional information. It is empty
@ -107,8 +107,8 @@ SMTPServer Objects
.. versionadded:: 3.5 .. versionadded:: 3.5
The *decode_data* and *enable_SMTPUTF8* constructor parameters, and the The *decode_data* and *enable_SMTPUTF8* constructor parameters, and the
*kwargs* parameter to :meth:`process_message` when one or more of these is *kwargs* parameter to :meth:`process_message` when *decode_data* is
specified. ``False``.
.. versionchanged:: 3.6 .. versionchanged:: 3.6
*decode_data* is now ``False`` by default. *decode_data* is now ``False`` by default.

View File

@ -640,6 +640,14 @@ Changes in the Python API
an error (e.g. EBADF) was reported by the underlying system call. an error (e.g. EBADF) was reported by the underlying system call.
See :issue:`26685`. See :issue:`26685`.
* The *decode_data* argument for :class:`smtpd.SMTPChannel` and
:class:`smtpd.SMTPServer` constructors is now ``False`` by default.
This means that the argument passed to
:meth:`~smtpd.SMTPServer.process_message` is now a bytes object by
default, and ``process_message()`` will be passed keyword arguments.
Code that has already been updated in accordance with the deprecation
warning generated by 3.5 will not be affected.
Changes in the C API Changes in the C API
-------------------- --------------------