Форум сайта python.su
857
чтобы вытащить код ошибки
если не работает, примени e.errno
если не работает, примени print(dir(e)), чтобы узнать, как его достать
проверка кода ошибки не даёт среагировать так же на другую ошибку
Офлайн
0
Если в этом куске:
email_topic = "Topic"
# Mail body
mail_body = "Spam message."
Офлайн
857
сохранить исходник в кодировке utf-8
либо записать сверху на первой или второй строке # -*- encoding: кодировка_файла -*-
если не помогает, нужен текст ошибки
Отредактировано (Ноя. 27, 2011 02:08:52)
Офлайн
0
Код ошибки:
Traceback (most recent call last):
File "C:\py3eg\spamer.otvet.mail.ru_1.py", line 53, in <module>
mailServer.sendmail(smtp_address, address, msg.as_string())
File "C:\Python32\lib\email\message.py", line 167, in as_string
g.flatten(self, unixfrom=unixfrom)
File "C:\Python32\lib\email\generator.py", line 88, in flatten
self._write(msg)
File "C:\Python32\lib\email\generator.py", line 141, in _write
self._write_headers(msg)
File "C:\Python32\lib\email\generator.py", line 175, in _write_headers
header_name=h)
File "C:\Python32\lib\email\header.py", line 197, in __init__
self.append(s, charset, errors)
File "C:\Python32\lib\email\header.py", line 275, in append
s.encode(output_charset, errors)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-6: ordinal not in range(128)
Офлайн
857
попробуй тему оставить английскими, а тело - русскими
Отредактировано (Ноя. 27, 2011 22:06:48)
Офлайн
0
Спасибо, получилось.
Офлайн
857
>>> s = 'абвг'
>>> eh = email.header.Header(s, 'utf-8')
>>> eh.encode()
'=?utf-8?b?0LDQsdCy0LM=?='
>>>
Офлайн