Показать сообщение отдельно

  #682  
Старый 04.05.2010, 10:57
XPYMGT
Познающий
Регистрация: 11.04.2009
Сообщений: 47
С нами: 8991498

Репутация: 2
По умолчанию

Как отправить письмо в utf-8 (Python 3.1)
Код:
import smtplib
from email.mime.text import MIMEText
хост = "smtp.mail.ru"
пользователь = "mishustin.sergei"
пароль = "*** вам а не пароль"
от_кого = "mishustin.sergei@mail.ru"
адресаты = ["komprenda@gmail.com"]
заголовок = "Тест"
текст_сообщения = "Проверка"
соо = MIMEText(текст_сообщения, 'plain', 'utf-8')
соо['From'] = от_кого
соо['To'] = адресаты[0]
соо['Subject'] = заголовок
обьект = smtplib.SMTP(хост, 2525)
обьект.login(пользователь, пароль)
обьект.sendmail(от_кого, кому, соо.as_string())
обьект.quit()
Приводит к ошибке:

Код:
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
 
Ответить с цитированием