Traceback (most recent call last):
File "D:\Program Files\Python31\lib\email\message.py", line 269, in set_charset
cte(self)
TypeError: 'str' object is not callable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\Program Files\Python27\mail.ru\src\mail.py", line 10, in <module>
соо = MIMEText(текст_сообщения, 'plain', 'utf-8')
File "D:\Program Files\Python31\lib\email\mime\text.py", line 30, in __init__
self.set_payload(_text, _charset)
File "D:\Program Files\Python31\lib\email\message.py", line 234, in set_payload
self.set_charset(charset)
File "D:\Program Files\Python31\lib\email\message.py", line 271, in set_charset
self._payload = charset.body_encode(self._payload)
File "D:\Program Files\Python31\lib\email\charset.py", line 380, in body_encode
return email.base64mime.body_encode(string)
File "D:\Program Files\Python31\lib\email\base64mime.py", line 94, in body_encode
enc = b2a_base64(s[i:i + max_unencoded]).decode("ascii")
TypeError: must be bytes or buffer, not str
Попробуй так :
Код:
текст_сообщения = "Проверка".encode("UTF-8")
В 3.1 ИМХО только неразберихи добавлось с этим bytes типом данных. Фактически он обозначает собой str из 2.6 в определенной кодировке. То же что обьявлялось в 2.6 как string = u"Вася" в 3.1 обьявляется как строка = "Вася", т.е. то что ты воспринимаешь как str из 2.6 в 3.1 фактически является unicode из 2.6. По крайней мере я это так понял.