Python-发送带有编码问题的电子邮件(撇号)

Python-发送带有编码问题的电子邮件(撇号),python,html,email,apostrophe,Python,Html,Email,Apostrophe,我一直在看这个问题的答案,但很遗憾,找不到适合我的答案。。。这是我的密码。。。通过Python发送电子邮件时,由于编码错误,撇号不能正常工作。我错过了什么 所有内容都是通过电子邮件发送的,但撇号显示如下:1€™ 我尝试了不同的字符集设置,但目前找不到解决方案。任何帮助都将不胜感激 #------------------------------------------------------------------------------------------------------------

我一直在看这个问题的答案,但很遗憾,找不到适合我的答案。。。这是我的密码。。。通过Python发送电子邮件时,由于编码错误,撇号不能正常工作。我错过了什么

所有内容都是通过电子邮件发送的,但撇号显示如下:1€™

我尝试了不同的字符集设置,但目前找不到解决方案。任何帮助都将不胜感激

#---------------------------------------------------------------------------------------------------------------------------
#HTML CONTENT
#---------------------------------------------------------------------------------------------------------------------------

text = """

"""

html = """

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>

<p style="border-bottom: 2px solid #00874E; width:100%; text-align:left; padding-top:10px; color:#3f3f3f"><font size="3"><b>SIGNIFICANT INSIDER TRANSACTIONS</b></font></p>

<table style="width:100%">
  <tr>
    <td style="font-size:11px; text-align: justify">"""+header_insiders+"""</td>
  </tr>
  <tr>
    <td style="font-size:11px"><b>Dollar Value Buying (000's)</b></td>
  </tr>
  <tr>
    <td style="font-size:11px; text-align: justify">"""+dollar_buying_combine+"""</td>
  </tr>
  <tr>
    <td style="font-size:11px"><b>Dollar Value Selling (000's)</b></td>
  </tr>
  <tr>
    <td style="font-size:11px; text-align: justify">"""+dollar_selling_combine+"""</td>
  </tr>
</table>

<p style="border-bottom: 2px solid #00874E; width:100%; text-align:left; padding-top:10px; color:#3f3f3f"><font size="3"><b>PRESS HEADLINES</b></font></p>
<table style="width:100%">
  <tr>
    <td><b>Bloomberg</b></td>
  </tr>
    <tr>
    <td>""" + bloomberg + """</td>
  </tr>
    <tr>
    <td><b>The Globe & Mail</b></td>
  </tr>
    <tr>
    <td>""" + globe + """</td>
  </tr>
    <tr>
    <td><b>Reuters</b></td>
  </tr>
  <tr>
    <td>""" + reuters + """</td>
  </tr>
  <tr>
    <td><b>The Wall Street Journal</b></td>
  </tr>
  <tr>
    <td>""" + WSJ + """</td>
  </tr>
  <tr>
    <td><b>Financial Times</b></td>
  </tr>
  <tr>
    <td>""" + FT + """</td>
  </tr>
  <tr>
    <td><b>Financial Post</b></td>
  </tr>
  <tr>
    <td>""" + FP + """</td>
  </tr>
</table>

</body></html>
"""

#---------------------------------------------------------------------------------------------------------------------------
#SEND EMAIL
#---------------------------------------------------------------------------------------------------------------------------


message = MIMEMultipart(
    "alternative", None, [MIMEText(text), MIMEText(html.encode('utf-8'), 'html','utf-8')])

message['Subject'] = "Morning Note"
message['From'] = me
message['To'] = you

server = smtplib.SMTP(server)
server.ehlo()
server.starttls()
server.login(me, password)
server.sendmail(me, you, message.as_string())
server.quit()
#---------------------------------------------------------------------------------------------------------------------------
#HTML内容
#---------------------------------------------------------------------------------------------------------------------------
text=”“”
"""
html=”“”

重大内幕交易

“+header\u内部人员+” 美元价值购买(千美元) “+美元购买联合收割机+” 美元价值销售(千美元) “+美元\出售\组合+”

新闻标题

彭博社 “+bloomberg+” 环球邮报 “+globe+” 路透社 “+reuters+” 《华尔街日报》 “+WSJ+” 金融时报 “+FT+” 金融职位 “+FP+” """ #--------------------------------------------------------------------------------------------------------------------------- #发送电子邮件 #--------------------------------------------------------------------------------------------------------------------------- message=MIMEMultipart( “可选”,无,[MIMEText(文本),MIMEText(html.encode('utf-8'),'html','utf-8')) 消息['Subject']=“晨报” 消息['From']=我 信息['To']=您 server=smtplib.SMTP(服务器) server.ehlo() server.starttls() server.login(我,密码) server.sendmail(我、你、message.as_string()) server.quit()
这听起来像是html编码(而不是mime编码)问题。我不熟悉
MIMEMultipart
的所有参数。一种可能的解决方法是将所有撇号替换为
',HTML编码的等价物。

我有点野蛮地强迫它。。。我添加了第一行,如下所示:

#---------------------------------------------------------------------------------------------------------------------------
#SEND EMAIL
#---------------------------------------------------------------------------------------------------------------------------
html = html.replace("’","'").replace("‘","'").replace("—","-")
message = MIMEText(html, "html")

message['Subject'] = "Morning Note"
message['From'] = me
message['To'] = you

server = smtplib.SMTP(server)
server.ehlo()
server.starttls()
server.login(me, password)
server.sendmail(me, you, message.as_string())
server.quit()