如何在python中用smtplib发送UNICODE消息

2024-04-25 00:57:21 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以将邮件转换为unicode?因为它会出错

_fix_eols(msg).encode('ascii') UnicodeEncodeError: 'ascii' codec can't encode characters in position 105-107: ordinal not in range(128)

fromaddrs = tkinter.StringVar()
password = tkinter.StringVar()
toaddrs = tkinter.StringVar()
subject = tkinter.StringVar()
message = tkinter.StringVar()

entry_from_address = ttk.Entry(window, textvariable=fromaddrs)
entry_from_password = ttk.Entry(window, textvariable=password)
entry_to_address = ttk.Entry(window, textvariable=toaddrs)
entry_subject = ttk.Entry(window, textvariable=subject)
entry_message = ttk.Entry(window, textvariable=message)



def email_send(*args):
    mail_details= """From: %s\nTo: %s\nSubject: %s\n\n%s
    """ % (fromaddrs.get(), ", ".join(toaddrs.get()), subject.get(), message.get())
    server = smtplib.SMTP('smtp.gmail.com', 587)
    server.starttls()
    server.login(fromaddrs.get(), password.get())
    server.sendmail(fromaddrs.get(), toaddrs.get(), mail_details)
    server.quit()
    print("message send")

Tags: messagegetservertkinterpasswordwindowencodesubject