【问题标题】:Python : sending mail through gmail issuePython:通过gmail问题发送邮件
【发布时间】:2011-03-27 12:03:37
【问题描述】:

我正在尝试使用某人曾经在此站点上编写的 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 v3.1.3。 如何解决?

谢谢。

【问题讨论】:

    标签: python email unicode gmail decode


    【解决方案1】:

    使用 Python 的“电子邮件”模块来生成格式正确的电子邮件。 在直接通过 Python 编写电子邮件的同时处理应用程序级别的编码问题并不是可行的方法。

    【讨论】:

    • 我按照您的指示编辑了脚本(和原始帖子)。尽管如此,问题仍然存在。
    • 那我不确定我明白你的意思:| ..你能解释一下吗?
    • 我发现了问题所在,它根本与代码无关(顺便说一句,它工作得很好)。所以我会接受你的回答,这给了我一些好的方向。
    猜你喜欢
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 2016-08-31
    • 2012-11-08
    • 2019-02-04
    相关资源
    最近更新 更多