Python: отправка почты через вопрос Gmail - PullRequest
0 голосов
/ 27 марта 2011

Я пытаюсь отправить электронное письмо (через gmail), используя скрипт python, который кто-то когда-то написал на этом сайте, но я получаю сообщение об ошибке: UnicodeDecodeError: кодек «utf8» не может декодировать байт 0xe8 в позиции 2: недопустимый байт продолжения

скрипт:


import smtplib
from email.mime.text import MIMEText
#mail setup
FROMMAIL = "xxx@gmail.com"
LOGIN    = FROMMAIL
PASSWORD = "yyy"
SUBJECT  = "test subject"
TOMAIL  = "xxx@gmail.com"

msg = MIMEText('testcontent')
msg['Subject'] = 'test'
msg['From'] = FROMMAIL
msg['To'] = TOMAIL
server = smtplib.SMTP('smtp.gmail.com', 587)
server.set_debuglevel(1)
server.ehlo()
server.starttls()
server.login(LOGIN, PASSWORD)
server.sendmail(FROMMAIL, [TOMAIL], msg.as_string())
server.quit()

Трассировка стека:


Traceback (most recent call last):
  File "C:\Users\xxx\Desktop\test.py", line 11, in 
    server = smtplib.SMTP('smtp.gmail.com', 587)
  File "C:\Program Files\Python31\lib\smtplib.py", line 248, in __init__
    fqdn = socket.getfqdn()
  File "C:\Program Files\Python31\lib\socket.py", line 290, in getfqdn
    name = gethostname()
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe8 in position 2: invalid continuation byte

Я использую Python v3.1.3. Как решить эту проблему?

Спасибо.

1 Ответ

0 голосов
/ 27 марта 2011

Используйте модуль 'email' в Python, чтобы генерировать правильно отформатированные электронные письма. Решение проблем с кодированием на уровне приложений при составлении писем непосредственно через Python - это не тот путь.

...