gpt4 book ai didi

python - 如何在 Python 中发送包含一些非 ASCII 字符的电子邮件?

转载 作者:行者123 更新时间:2023-12-01 00:48:25 25 4
gpt4 key购买 nike

我正在使用 Python 3.7 并尝试使用 smtplib 发送电子邮件。只要消息不包含任何土耳其字符(例如“ş,ı,й,ç,ö”),我的脚本就可以完美运行。到目前为止,我发现的唯一有效的解决方案是使用 "string=string.encode('ascii', 'ignore').decode('ascii')" 行,但是当我这样做时,字符串“Islem tamamlanmıştır.” 变为“lem tamamlanmtr.”。那么如何保留原始字符串并绕过这个错误呢?

代码的相关部分:

import smtplib
server = smtplib.SMTP_SSL(r'smtp.gmail.com', 465)
server.ehlo()
server.login(gmail_user, gmail_password)
message = 'Subject: {}\n\n{}'.format(subject, text)
server.sendmail(from, to, message)
server.close()

最佳答案

import smtplib
from email.mime.text import MIMEText

text_type = 'plain' # or 'html'
text = 'Your message body'
msg = MIMEText(text, text_type, 'utf-8')
msg['Subject'] = 'Test Subject'
msg['From'] = gmail_user
msg['To'] = 'user1@x.com,user2@y.com'
server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
server.login(gmail_user, gmail_password)
server.send_message(msg)
# or server.sendmail(msg['From'], msg['To'], msg.as_string())
server.quit()

关于python - 如何在 Python 中发送包含一些非 ASCII 字符的电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56759272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com