Message76295
smtplib requires that messages being sent be in ascii, and throws an exception otherwise.
Python 2.6 doesn't require this. Here's the diff where it was introduced:
http://svn.python.org/view/python/branches/py3k/Lib/smtplib.py?rev=59102&r1=58495&r2=59102
Is there a good reason for this? I use python for a webstore, and send out emails for folks
with multibyte names (for instance, if a name has an umlaut).
Here's a code snippit + exception:
Python 3.0rc3 (r30rc3:67312, Nov 22 2008, 18:45:57)
[GCC 3.4.6 [FreeBSD] 20060305] on freebsd6
Type "help", "copyright", "credits" or "license" for more information.
>>> import smtplib
>>> server = smtplib.SMTP("localhost")
>>> server.sendmail("gus@flyingmeat.com", "gus@flyingmeat.com", "Ümlaut")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/mu.org/home/gus/unix/python3/lib/python3.0/smtplib.py", line 713, in sendmail
(code,resp) = self.data(msg)
File "/home/mu.org/home/gus/unix/python3/lib/python3.0/smtplib.py", line 481, in data
self.send(q)
File "/home/mu.org/home/gus/unix/python3/lib/python3.0/smtplib.py", line 305, in send
s = s.encode("ascii")
UnicodeEncodeError: 'ascii' codec can't encode character '\xdc' in position 0: ordinal not in
range(128)
Is there a workaround or a new way of using it? I couldn't seem to find it.
Thanks! |
|
Date |
User |
Action |
Args |
2008-11-24 03:59:04 | ccgus | set | recipients:
+ ccgus |
2008-11-24 03:59:04 | ccgus | set | messageid: <1227499144.72.0.0111235228814.issue4403@psf.upfronthosting.co.za> |
2008-11-24 03:59:03 | ccgus | link | issue4403 messages |
2008-11-24 03:59:01 | ccgus | create | |
|