【发布时间】:2021-01-16 12:04:33
【问题描述】:
我只是从文件中读取一些引号并使用 python 在我的电子邮件中发送它们,但我经常面临这个问题(UnicodeEncodeError: 'ascii' codec can't encode character '\u201c' in position 37: ordinal not in range(128)) 错误我该如何解决。
这里是代码
now = dt.datetime.now()
weekdays = now.weekday()
if weekdays == 5:
with open("quotes.txt","r", encoding="utf8") as quote_file:
all_quotes = quote_file.readlines()
quote = random.choice(all_quotes)
print(quote)
with smtplib.SMTP("smtp.mail.yahoo.com") as connection:
connection.starttls()
connection.login(user=my_email, password=my_password)
connection.sendmail(from_addr=my_email,
to_addrs=my_email,
msg=f"Subject:Monday Motivational Quote\n\n{quote}")
提前致谢。
【问题讨论】:
-
msg=f"Subject:Monday Motivational Quote\n\n{quote}".encode("utf8") 在最后一行使用 .encode() 方法
标签: python