193 Commits

Author SHA1 Message Date
R David Murray
f1a40b4ec5 Merge: #5713: Handle 421 error codes during sendmail by closing the socket.
This is a partial fix to the issue of servers disconnecting unexpectedly; in
this case the 421 says they are disconnecting, so we close the socket and
return the 421 in the appropriate error context.

Original patch by Mark Sapiro, updated by Kushal Das, with additional
tests by me.
2013-03-20 21:12:17 -04:00
R David Murray
d312c740f1 #5713: Handle 421 error codes during sendmail by closing the socket.
This is a partial fix to the issue of servers disconnecting unexpectedly; in
this case the 421 says they are disconnecting, so we close the socket and
return the 421 in the appropriate error context.

Original patch by Mark Sapiro, updated by Kushal Das, with additional
tests by me.
2013-03-20 20:36:14 -04:00
Andrew Svetlov
2ade6f24cb Issue #16647: save socket error details in LMTP.connect()
Initial patch by Serhiy Storchaka.
2012-12-17 18:57:16 +02:00
Andrew Svetlov
3b69824de9 Issue #16647: save socket error details in LMTP.connect()
Patch by Serhiy Storchaka.
2012-12-17 18:55:10 +02:00
Andrew Svetlov
b6693c4604 Issue #16647: save socket error details in LMTP.connect()
Patch by Serhiy Storchaka.
2012-12-17 18:54:53 +02:00
R David Murray
b0deeb47d8 #25446: Fix regression in smtplib's AUTH LOGIN support.
The auth method tests simply weren't adequate because of the fact that
smtpd doesn't support authentication.  I borrowed some of Milan's
code for that from issue #21935 and added it to the smtplib tests.
Also discovered that the direct test for the 'auth' method wasn't actually
testing anything and fixed it.

The fix makes the new authobject mechanism work the way it is
documented...the problem was that wasn't checking for a 334 return code
if an initial-response was provided, which works fine for auth plain
and cram-md5, but not for auth login.
2015-11-08 01:03:52 -05:00
Benjamin Peterson
669ff66c32 remove duplicated imports (closes #25502) 2015-10-28 23:15:13 -07:00
Barry Warsaw
c5ea754e48 - Issue #15014: SMTP.auth() and SMTP.login() now support RFC 4954's optional
initial-response argument to the SMTP AUTH command.
2015-07-09 10:39:55 -04:00
R David Murray
8308444eef #24218: Add SMTPUTF8 support to send_message.
Reviewed by Maciej Szulik.
2015-05-17 19:27:22 -04:00
R David Murray
cee7cf6026 #22027: Add RFC6531 support to smtplib.
Initial patch by Milan Oberkirch.
2015-05-16 13:58:14 -04:00
R David Murray
37f1ba915b #16914: fix test errors under -W error::BytesWarning.
There are doubtless other debug messages in smtplib that would trigger an
error if they were tested, but this fixes the things we do now test,
which is good enough for now.
2015-04-16 18:54:56 -04:00
R David Murray
0c49b896e6 #16914: add timestamps to smtplib debugging output via new debuglevel 2.
Patch by Gavin Chappell and Maciej Szulik.
2015-04-16 17:14:42 -04:00
Serhiy Storchaka
2116b12da5 Issue #23865: close() methods in multiple modules now are idempotent and more
robust at shutdown. If needs to release multiple resources, they are released
even if errors are occured.
2015-04-10 13:29:28 +03:00
Serhiy Storchaka
50ef0f41af Escaped backslashes in docstrings. 2015-04-03 18:13:23 +03:00
Benjamin Peterson
f9284ae8ed merge 3.4 (#22921) 2014-11-23 17:06:39 -06:00
R David Murray
b10be15508 Merge #22215: have the smtplib 'quit' command reset the state. 2014-08-30 16:55:45 -04:00
R David Murray
76e13c1c29 #15014: Add 'auth' command to implement auth mechanisms and use it in login.
Patch by Milan Oberkirch.
2014-07-03 14:47:46 -04:00
Ezio Melotti
3de134b1d1 #12448: merge with 3.2. 2011-10-18 13:26:49 +03:00
Ezio Melotti
6bfecd1271 #12448: smtplib now flushes stdout while running `python -m smtplib`
in order to display the prompt correctly.  Patch by Petri Lehtinen.
2011-10-18 13:20:07 +03:00
Antoine Pitrou
a5dba1abea Provide a better diagnosis on socket errors 2011-08-28 01:22:22 +02:00
Antoine Pitrou
6b2e160d27 Provide a better diagnosis on socket errors 2011-08-28 01:20:42 +02:00
Senthil Kumaran
b351a48eee Addressing the review comments by Antoine Pitrou for smtplib.py and test_smtplib.py. Review comments by Ezio Melotti for smtplib.rst 2011-07-31 09:14:17 +08:00
Senthil Kumaran
3d23fd6493 Fix closes Issue11281 - smtplib.STMP gets source_address parameter, which adds the ability to bind to specific source address on a machine with multiple interfaces. Patch by Paulo Scardine. 2011-07-30 10:56:50 +08:00
R David Murray
4c14bba7f9 #7484: simplify quoteaddr: if parseaddr throws an error it is a bug.
As far as I can tell, the try/except was ancient code, from before the email
package rewrite where the philosophy of never throwing parsing errors was
adopted.
2011-07-18 21:59:53 -04:00
R David Murray
da7af4d7a1 Merge #7484: no more <> around addresses in VRFY or EXPN 2011-07-18 21:42:28 -04:00
R David Murray
4634676cec #7484: no more <> around addresses in VRFY or EXPN
The RFC doesn't say that they are allowed; apparently many mailers accept
them, but not postfix.  Contributions to this patch were made by Felipe Cruz
and Catalin Iacob.

The changeset also adds additional indirect tests for quoteaddr (null address
and IDNA-encoded address).
2011-07-18 21:38:54 -04:00
R David Murray
db4120bf9d merge #12147: make send_message correctly handle Sender and Resent- headers. 2011-07-02 21:10:44 -04:00
R David Murray
ac4e5abc78 #12147: make send_message correctly handle Sender and Resent- headers.
Original patch by Nicolas Estibals.  My tweaks to the patch were mostly
style/cosmetic, and adding more tests.
2011-07-02 21:03:19 -04:00
R David Murray
0a9f16b627 merge #12283: Fixed regression in smtplib quoting of leading dots in DATA. 2011-06-09 15:21:02 -04:00
R David Murray
0f663d07e6 #12283: Fixed regression in smtplib quoting of leading dots in DATA.
I unfortunately introduced the regression when I refactored the code,
and there were no tests of quoting so it wasn't caught.  Now there
is one.
2011-06-09 15:05:57 -04:00
Antoine Pitrou
f068ab8304 Issue #11893: Remove obsolete internal wrapper class SSLFakeFile in the smtplib module.
Patch by Catalin Iacob.
2011-06-06 19:17:09 +02:00
Antoine Pitrou
e065020680 Issue #8809: The SMTP_SSL constructor and SMTP.starttls() now support
passing a `context` argument pointing to an ssl.SSLContext instance.
Patch by Kasun Herath.
2011-05-18 18:03:09 +02:00
Antoine Pitrou
d7f12f30e4 Merge: Issue #11927: SMTP_SSL now uses port 465 by default as documented. 2011-05-07 19:42:39 +02:00
Antoine Pitrou
5bcc50c1b5 Merge: Issue #11927: SMTP_SSL now uses port 465 by default as documented. 2011-05-07 19:41:33 +02:00
Antoine Pitrou
c1d520634a Issue #11927: SMTP_SSL now uses port 465 by default as documented. Patch by Kasun Herath. 2011-05-07 19:39:37 +02:00
Barry Warsaw
1f5c958721 - Issue #11289: smtp.SMTP class becomes a context manager so it can be used
in a `with` statement.  Contributed by Giampaolo Rodola.
2011-03-15 15:04:44 -04:00
Giampaolo Rodolà
f4977d2f50 Merged revisions 88501 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r88501 | giampaolo.rodola | 2011-02-22 16:56:20 +0100 (mar, 22 feb 2011) | 1 line

  smtlib.py PEP8 normalization via pep8.py script.
........
2011-02-24 20:25:11 +00:00
Giampaolo Rodolà
bd258bd4c6 smtlib.py PEP8 normalization via pep8.py script. 2011-02-22 15:56:20 +00:00
R. David Murray
7dff9e08fb #10321: Add support for sending binary DATA and Message objects to smtplib 2010-11-08 17:15:13 +00:00
Gerhard Häring
1c5471f319 Issue #6683: For SMTP logins we now try all authentication methods advertised
by the server. Many servers are buggy and advertise authentication methods they
o not support in reality. This change makes smtplib.auth() work more often in
the real world, where we face misconfigured servers and servers that advertise
methods they don't support due to the madness that is SASL.
2010-08-05 14:08:44 +00:00
Benjamin Peterson
90f5ba538b convert shebang lines: python -> python3 2010-03-11 22:53:45 +00:00
Ezio Melotti
6e52a5a837 Merged revisions 75064 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r75064 | ezio.melotti | 2009-09-26 00:35:24 +0300 (Sat, 26 Sep 2009) | 1 line

  fix print statement
........
2009-09-25 21:38:29 +00:00
Ezio Melotti
af30d2eeaa fix print statement 2009-09-25 21:35:24 +00:00
Georg Brandl
706824f19f More codestring -> codebytes. 2009-06-04 09:42:55 +00:00
R. David Murray
fb12391c44 Finish issue 5259 by adding tests and fixes for the 'login'
and 'cram-md5' auth methods.
2009-05-28 18:19:00 +00:00
R. David Murray
caa27b7823 Fix for issue 5259: ASCII encode the username and password before passing
it to encode_base64, which requires bytes in py3k.  Fix by Musashi Tamura,
tests by Marcin Bachry.
2009-05-23 18:49:56 +00:00
R. David Murray
87e2074ecb Merged revisions 72835 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r72835 | r.david.murray | 2009-05-22 20:48:58 -0400 (Fri, 22 May 2009) | 4 lines

  Fix Issue #4066: smtplib.SMTP_SSL._get_socket now correctly returns
  the socket.  Patch by Farhan Ahmad, test by Marcin Bachry.
........
2009-05-23 01:30:26 +00:00
Benjamin Peterson
e1cdfd78d8 Merged revisions 68547,68607,68610,68618,68621-68622,68649,68722 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r68547 | kristjan.jonsson | 2009-01-12 12:09:27 -0600 (Mon, 12 Jan 2009) | 1 line

  Add tests for invalid format specifiers in strftime, and for handling of invalid file descriptors in the os module.
........
  r68607 | kristjan.jonsson | 2009-01-14 04:50:57 -0600 (Wed, 14 Jan 2009) | 2 lines

  Re-enable all tests for windows platforms.
  Also, explicitly connect to the IPV4 address.  On windows platforms supporting AF_INET6, the SocketProxy would connect using socket.create_connection('localhost', port) which would cycle through all address families and try to connect.  It would try connecting using AF_INET6 first and this would cause a delay of up to a second.
........
  r68610 | kristjan.jonsson | 2009-01-15 03:09:13 -0600 (Thu, 15 Jan 2009) | 3 lines

  Fix recently introduced test cases.
  For datetime, gentoo didn't seem to mind the %e format for strftime.  So, we just excercise those instead making sure that we don't crash.
  For test_os, two cases were incorrect.
........
  r68618 | kristjan.jonsson | 2009-01-15 11:20:21 -0600 (Thu, 15 Jan 2009) | 1 line

  Issue 4929:  Handle socket errors when receiving
........
  r68621 | kristjan.jonsson | 2009-01-15 16:40:03 -0600 (Thu, 15 Jan 2009) | 1 line

  Fix two test cases in test_os.  ftruncate raises IOError unlike all the others which raise OSError.  And close() on some platforms doesn't complain when given an invalid file descriptor.
........
  r68622 | kristjan.jonsson | 2009-01-15 16:46:26 -0600 (Thu, 15 Jan 2009) | 1 line

  Make all the invalid fd tests for os subject to the function being available.
........
  r68649 | benjamin.peterson | 2009-01-16 22:39:05 -0600 (Fri, 16 Jan 2009) | 1 line

  trying to find some fpathconf() settings that all unixs support...
........
  r68722 | kristjan.jonsson | 2009-01-18 04:58:44 -0600 (Sun, 18 Jan 2009) | 1 line

  issue 4293:  make test_capi.py more robutst, it times out on some platforms, presumably waiting for threads.  Lower the thread count to 16.
........
2009-01-18 21:02:37 +00:00
Georg Brandl
9f0f960d4c Remove traces of rfc822. 2008-06-12 22:23:59 +00:00
Georg Brandl
f78e02b798 Merged revisions 63562,63570,63728,63734,63784,63788,63802,63817,63827,63839,63887,63975,63998 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r63562 | martin.v.loewis | 2008-05-23 17:06:50 +0200 (Fri, 23 May 2008) | 2 lines

  Patch #1722225: Support QNX 6.
........
  r63570 | trent.nelson | 2008-05-23 22:33:14 +0200 (Fri, 23 May 2008) | 1 line

  Introduce a user macro named $(externalsDir), which should point to the root directory of where all the external sources should live.  Developers can change this value if their external sources live elsewhere.  The default of '..\..' matches the current status quo.
........
  r63728 | gregory.p.smith | 2008-05-26 23:16:34 +0200 (Mon, 26 May 2008) | 4 lines

  Fix issue2589: there was a potential integer overflow leading to
  memory corruption on esoteric platforms and incorrect behavior on
  normal platforms.
........
  r63734 | gregory.p.smith | 2008-05-27 00:07:28 +0200 (Tue, 27 May 2008) | 3 lines

  Fix issue2588: Do not execute str[size-1] = '\0' when a 0 size is
  passed in.  (The assert won't prevent this in non-debug builds).
........
  r63784 | raymond.hettinger | 2008-05-29 10:38:23 +0200 (Thu, 29 May 2008) | 1 line

  Fix two typos.
........
  r63788 | facundo.batista | 2008-05-29 18:39:26 +0200 (Thu, 29 May 2008) | 6 lines


  Fixed the semantic of timeout for socket.create_connection and
  all the upper level libraries that use it, including urllib2.
  Added and fixed some tests, and changed docs correspondingly.
  Thanks to John J Lee for the patch and the pusing, :)
........
  r63802 | mark.dickinson | 2008-05-30 04:46:53 +0200 (Fri, 30 May 2008) | 2 lines

  Fix typo in testSum
........
  r63817 | raymond.hettinger | 2008-05-30 20:20:50 +0200 (Fri, 30 May 2008) | 8 lines

  * Mark intermedidate computes values (hi, lo, yr) as volatile.
  * Expand comments.
  * Swap variable names in the sum_exact code so that x and y
    are consistently chosen as the larger and smaller magnitude
    values respectively.
........
  r63827 | raymond.hettinger | 2008-05-31 05:24:31 +0200 (Sat, 31 May 2008) | 1 line

  Implement heapq in terms of less-than (to match list.sort()).
........
  r63839 | gerhard.haering | 2008-05-31 23:33:27 +0200 (Sat, 31 May 2008) | 2 lines

  Fixed rowcount for SELECT statements. They're -1 now (again), for better DB-API 2.0 compliance.
........
  r63887 | gregory.p.smith | 2008-06-02 06:05:52 +0200 (Mon, 02 Jun 2008) | 4 lines

  Fix issue 2782: be less strict about the format string type in strftime.
  Accept unicode and anything else ParseTuple "s#" can deal with.  This
  matches the time.strftime behavior.
........
  r63975 | neal.norwitz | 2008-06-06 06:47:01 +0200 (Fri, 06 Jun 2008) | 3 lines

  Aldo Cortesi confirmed this is still needed for OpenBSD 4.2 and 4.3.
  (I didn't regen configure, since I don't have a working autoconf.)
........
  r63998 | raymond.hettinger | 2008-06-06 23:47:51 +0200 (Fri, 06 Jun 2008) | 1 line

  Issue 3501: Make heapq support both __le__ and __lt__.
........
2008-06-10 17:40:04 +00:00