python-3.x - 统一码编码错误 : 'ascii' codec can't encode characters in position 5-6: ordinal not in range(128)

标签 python-3.x smtp

我尝试通过 SMTP 简单地使用 python 调用 gmail。 然而,无论我怎样尝试,它仍然显示UnicodeEncodeError

import smtplib
import sys
print(sys.getdefaultencoding())
host = "smtp.gmail.com"
port = 587
username = "ppapa@gmail.com"
password = "ppapapxasfsdfsdfsdfsd"

email_conn = smtplib.SMTP(host,port) #call smtp method 
email_conn.ehlo()

错误提示:

utf-8
Traceback (most recent call last):
  File "Useemail.py", line 10, in <module>
    email_conn.ehlo()
  File "C:\Users\Lance\Anaconda3\lib\smtplib.py", line 439, in ehlo
    self.putcmd(self.ehlo_msg, name or self.local_hostname)
  File "C:\Users\Lance\Anaconda3\lib\smtplib.py", line 366, in putcmd
    self.send(str)
  File "C:\Users\Lance\Anaconda3\lib\smtplib.py", line 351, in send
    s = s.encode(self.command_encoding)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 5-6: ordinal not in range(128)
>>> 

最佳答案

我今天遇到了类似的问题。

我发现的问题是因为我的 from_addr 有 UTF-8 字符。 您可以尝试设置 email_conn.command_encoding = 'utf-8'

关于python-3.x - 统一码编码错误 : 'ascii' codec can't encode characters in position 5-6: ordinal not in range(128),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40718898/

相关文章:

c# - 当发送帐户使用双因素身份验证时,如何使用 Gmail 和 SmtpClient 发送电子邮件?

ssl - Go smtp.SendMail 的 X509 证书问题

python - 如何从 Python 3.6 中的文件导入方法

java - 如何将监听器挂接到 SSL 握手?

postgresql - 面对关于 x 轴和 y 轴(标签和范围)的 Bokeh 图的多个问题

python - 在 Python 中读取和/或更改 Windows 8 主卷

ios - 如何使用 SKPSMTPMessage 发送电子邮件,它将在电子邮件客户端中正常解析?

python - 如何发送带有到期日期的邮件,自动从收件箱中删除

python-3.x - Pyautogui 不会移动实际的鼠标指针

python-3.x - 根据特定条件生成带有填充的行 - pandas