Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python3发送UTF-8编码的电子邮件会导致UnicodeError_Python_Email_Python 3.x_Encoding_Smtplib - Fatal编程技术网

使用Python3发送UTF-8编码的电子邮件会导致UnicodeError

使用Python3发送UTF-8编码的电子邮件会导致UnicodeError,python,email,python-3.x,encoding,smtplib,Python,Email,Python 3.x,Encoding,Smtplib,我期待以下代码发送UTF-8编码的邮件 import email.parser import smtplib msg_str = """From: A <a@example.org> To: B <b@example.org> Content-Type: text/plain; charset="UTF-8" Testing UTF-8: – ä.""" msg = email.parser.Parser().parsestr(msg_str) smtplib.SM

我期待以下代码发送UTF-8编码的邮件

import email.parser
import smtplib

msg_str = """From: A <a@example.org>
To: B <b@example.org>
Content-Type: text/plain; charset="UTF-8"

Testing UTF-8: – ä."""

msg = email.parser.Parser().parsestr(msg_str)
smtplib.SMTP('localhost').send_message(msg)
这里失败的是在pythons
smtplib
中调用
email.generator.BytesGenerator
。如果
msg
对象不能转换为字节,那么电子邮件解析器不应该首先失败吗

UnicodeEncodeError: 'ascii' codec can't encode character '\u2013' in position 15: ordinal not in range(128)