我尝试通过 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/