[issue20482] smtplib.SMTP.sendmail: improve exception message

2019-03-15 Thread Mark Lawrence


Change by Mark Lawrence :


--
nosy:  -BreamoreBoy

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue20482] smtplib.SMTP.sendmail: improve exception message

2015-02-22 Thread Berker Peksag

Changes by Berker Peksag :


--
nosy: +berker.peksag

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue20482] smtplib.SMTP.sendmail: improve exception message

2015-02-22 Thread yegle

yegle added the comment:

I have no plan to work further, Mark can take the code and improve anyway you 
want.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue20482] smtplib.SMTP.sendmail: improve exception message

2015-02-22 Thread Mark Lawrence

Mark Lawrence added the comment:

Assuming that the inline patch in msg209943 is acceptable I'll volunteer to 
change the test code unless the originator wants the job.

--
nosy: +BreamoreBoy

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue20482] smtplib.SMTP.sendmail: improve exception message

2014-02-01 Thread Yury Selivanov

Changes by Yury Selivanov :


--
nosy: +ncoghlan

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue20482] smtplib.SMTP.sendmail: improve exception message

2014-02-01 Thread yegle

New submission from yegle:

Currently the `msg` argument of `smtplib.SMTP.sendmail` accept a `str` in Py3k 
if every characters in this `str` is in ASCII range, or a `bytes`.

This is confusing for new comer because:

1. When you send your mail using only ASCII characters, everything is fine (no 
matter you use bytes or str).
2. When sometimes you included non-ASCII characters in your email, the 
traceback is hard to understand.

Here's an example of such traceback:

Traceback (most recent call last):
  File "./manage.py", line 113, in 
manager.run()
  File 
"/data/web/cgi-bin/venv/lib/python3.3/site-packages/flask_script/__init__.py", 
line 405, in run
result = self.handle(sys.argv[0], sys.argv[1:])
  File 
"/data/web/cgi-bin/venv/lib/python3.3/site-packages/flask_script/__init__.py", 
line 384, in handle
return handle(app, *positional_args, **kwargs)
  File 
"/data/web/cgi-bin/venv/lib/python3.3/site-packages/flask_script/commands.py", 
line 145, in handle
return self.run(*args, **kwargs)
  File "./manage.py", line 108, in run
conn.send(msg)
  File "/data/web/cgi-bin/venv/lib/python3.3/site-packages/flask_mail.py", line 
168, in send
message.as_string())
  File "/data/web/cgi-bin/python-3.3.3/lib/python3.3/smtplib.py", line 747, in 
sendmail
msg = _fix_eols(msg).encode('ascii')
UnicodeEncodeError: 'ascii' codec can't encode character '\u9f99' in position 
646: ordinal not in range(128)

Here's my proposal:

--- smtplib.py.orig 2014-02-01 21:26:47.0 -0500
+++ smtplib.py  2014-02-01 21:37:51.0 -0500
@@ -744,7 +744,12 @@
 esmtp_opts = []
 print(msg)
 if isinstance(msg, str):
-msg = _fix_eols(msg).encode('ascii')
+try:
+msg = _fix_eols(msg).encode('ascii')
+except UnicodeEncodeError:
+raise SMTPException(
+"msg may be a string containing characters in the "
+"ASCII range, or a byte string.")
 if self.does_esmtp:
 # Hmmm? what's this? -ddm
 # self.esmtp_features['7bit']=""

--
components: email
messages: 209943
nosy: barry, r.david.murray, yegle
priority: normal
severity: normal
status: open
title: smtplib.SMTP.sendmail: improve exception message
type: enhancement
versions: Python 3.3

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com