чтобы вытащить код ошибки
если не работает, примени e.errno
если не работает, примени print(dir(e)), чтобы узнать, как его достать
проверка кода ошибки не даёт среагировать так же на другую ошибку
email_topic = "Topic"
# Mail body
mail_body = "Spam message."
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)
>>> s = 'абвг'
>>> eh = email.header.Header(s, 'utf-8')
>>> eh.encode()
'=?utf-8?b?0LDQsdCy0LM=?='
>>>