Python:通过Gmail发送邮件的问题
我正在尝试用一个人之前在这个网站上写的Python脚本通过Gmail发送邮件,但我遇到了一个错误:
UnicodeDecodeError: 'utf8' 编码无法解码位置2的字节0xe8:无效的继续字节
这个脚本是:
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 3.1.3版本。请问该怎么解决这个问题呢?
谢谢。
1 个回答
0
使用Python的'email'模块来生成格式正确的电子邮件。直接通过Python编写电子邮件时处理编码问题并不是一个好办法。