Issue5259
Created on 2009-02-14 14:19 by miwa, last changed 2009-05-28 18:52 by r.david.murray.
| File name |
Uploaded |
Description |
Edit |
Remove |
|
smtptest.py
|
kalevi,
2009-02-14 19:02
|
smtplib test file |
|
|
|
3.0.txt
|
miwa,
2009-02-15 07:04
|
Python3.0's output of smtptest.py |
|
|
|
smtplib_eol.diff
|
ajaksu2,
2009-04-25 22:46
|
Musashi's fix as a patch |
|
|
|
test-smtplib.diff
|
r.david.murray,
2009-05-23 14:47
|
unit test |
|
|
|
msg82064 - (view) |
Author: Musashi Tamura (miwa) |
Date: 2009-02-14 14:19 |
|
Issue #<3921> may be the same problem.
Sending Gmail by smtplib fails on Python 3.0 and 3.0.1.
It seems to be exist two problems in encode_plain function in smtplib.py:
* parameter of encode_base64 must be bytes, not str,
* by default, encode_base64 adds extra newline.
The following is an example of patch.
# original version
def encode_plain(user, password):
return encode_base64("\0%s\0%s" % (user, password))
# fixed version. Note that "eol=''" is given in Python 2.6's smtplib.
def encode_plain(user, password):
s = "\0%s\0%s" % (user, password)
return encode_base64(s.encode('ascii'), eol='')
|
|
msg82065 - (view) |
Author: Martin v. Löwis (loewis) |
Date: 2009-02-14 14:24 |
|
Can you show us the failing application? Most likely, the bug is in your
code, not in Python.
|
|
msg82107 - (view) |
Author: (kalevi) |
Date: 2009-02-14 19:02 |
|
The attached test script works fine in Python 2.6.
Replace the following texts in the script:
from@gmail.com
to@gmail.com
password
|
|
msg82140 - (view) |
Author: Musashi Tamura (miwa) |
Date: 2009-02-15 07:04 |
|
The attachment is output of smtptest.py on Python 3.0.
|
|
msg82438 - (view) |
Author: bill (toastedrobot) |
Date: 2009-02-18 22:46 |
|
sorry, pressed the wrong button.
that solution does work. didn't find this until #python helped me get:
return encode_base64( ("\0%s\0%s" % (user, password) ).encode('ascii') )
|
|
msg86539 - (view) |
Author: Marcin Bachry (marcin.bachry) |
Date: 2009-04-25 19:27 |
|
I add simple smtp auth unit test to exercise this bug.
|
|
msg86563 - (view) |
Author: Daniel Diniz (ajaksu2) |
Date: 2009-04-25 22:46 |
|
Martin: see a test script in issue 3921.
|
|
msg88237 - (view) |
Author: R. David Murray (r.david.murray) |
Date: 2009-05-23 14:34 |
|
5304 and 3921 are fixed. Is there still an issue here? If so, I think
we need a test case we can add to the test suite. It can be a patch
against the new test_smtpnet.py test.
|
|
msg88239 - (view) |
Author: R. David Murray (r.david.murray) |
Date: 2009-05-23 14:47 |
|
Looks like I accidentally deleted the file I was asking for. Not sure
how that happened, but I'm reattaching it.
|
|
msg88253 - (view) |
Author: José Luis Cáceres (j.l.caceres) |
Date: 2009-05-23 22:34 |
|
There is a similar problem that I found with encode_cram_md5 in
smtplib.py, SMTP.login() method. I used the solution proposed by miwa,
both for PLAIN and CRAM MD5 authentication. Additionally, for the last
one, I had to introduce a second correction and byte encode the
password string when passing it to hmac.HMAC.
I do not know if I did things correctly, but just in case it can help
here is the complete patch that I used and worked well with the two
AUTH methods. I keep the original and modified lines for clarity.
def encode_cram_md5(challenge, user, password):
challenge = base64.decodestring(challenge)
#response = user + " " + hmac.HMAC(password,
challenge).hexdigest()
response = user + " " + hmac.HMAC(password.encode(),
challenge).hexdigest()
#return encode_base64(response)
return encode_base64((response).encode('ascii'), eol='')
def encode_plain(user, password):
#return encode_base64("\0%s\0%s" % (user, password))
return encode_base64(("\0%s\0%s" % (user, password)).encode
('ascii'), eol='')
|
|
msg88262 - (view) |
Author: R. David Murray (r.david.murray) |
Date: 2009-05-24 14:53 |
|
Committed the simple auth tests and fix in r72868 in py3k and r72877 in
3.0. Also added the test to trunk in r72878 to keep the test source in
sync, and to 26maint similarly in r72886.
Now we need tests for the other auth cases.
|
|
msg88473 - (view) |
Author: R. David Murray (r.david.murray) |
Date: 2009-05-28 18:51 |
|
LOGIN and CRAM-MD5 login are fixed in r72990 (3.1) and r72991 (3.0).
|
|
| Date |
User |
Action |
Args |
| 2009-06-23 16:21:49 | r.david.murray | link | issue6328 dependencies |
| 2009-06-16 12:59:24 | r.david.murray | link | issue6291 superseder |
| 2009-05-28 18:52:20 | r.david.murray | set | stage: test needed -> committed/rejected |
| 2009-05-28 18:51:52 | r.david.murray | set | status: open -> closed resolution: fixed messages:
+ msg88473
|
| 2009-05-24 14:53:21 | r.david.murray | set | messages:
+ msg88262 stage: commit review -> test needed |
| 2009-05-23 22:34:34 | j.l.caceres | set | nosy:
+ j.l.caceres messages:
+ msg88253
|
| 2009-05-23 18:21:08 | r.david.murray | set | assignee: r.david.murray stage: test needed -> commit review |
| 2009-05-23 14:47:56 | r.david.murray | set | files:
+ test-smtplib.diff
messages:
+ msg88239 |
| 2009-05-23 14:34:06 | r.david.murray | set | nosy:
+ r.david.murray messages:
+ msg88237
|
| 2009-05-23 14:24:18 | r.david.murray | set | files:
- test-smtplib.diff |
| 2009-04-25 22:53:46 | ajaksu2 | link | issue5304 superseder |
| 2009-04-25 22:46:11 | ajaksu2 | set | files:
+ smtplib_eol.diff priority: normal -> critical
nosy:
+ ajaksu2 messages:
+ msg86563
|
| 2009-04-25 22:44:26 | ajaksu2 | link | issue3921 superseder |
| 2009-04-25 19:27:42 | marcin.bachry | set | files:
+ test-smtplib.diff
nosy:
+ marcin.bachry messages:
+ msg86539
keywords:
+ patch |
| 2009-04-22 14:40:11 | ajaksu2 | set | priority: normal keywords:
+ easy dependencies:
+ smtplib cannot sendmail over TLS, email/base64mime.py cannot work type: crash -> behavior stage: test needed |
| 2009-03-31 06:05:27 | ocean-city | link | issue1685453 dependencies |
| 2009-02-18 22:46:16 | toastedrobot | set | nosy:
+ toastedrobot type: crash messages:
+ msg82438 title: gmail smtp -> smtplib is broken in Python3 |
| 2009-02-18 22:43:23 | toastedrobot | set | title: smtplib is broken in Python3 -> gmail smtp type: crash -> (no value) versions:
+ Python 3.1 |
| 2009-02-15 07:04:13 | miwa | set | files:
+ 3.0.txt messages:
+ msg82140 |
| 2009-02-14 19:02:38 | kalevi | set | files:
+ smtptest.py nosy:
+ kalevi messages:
+ msg82107 |
| 2009-02-14 14:24:02 | loewis | set | nosy:
+ loewis messages:
+ msg82065 |
| 2009-02-14 14:19:17 | miwa | create | |
|