python - 使用 Python 发送电子邮件实用程序在 python3 中添加额外的字符(!)
问题描述
我在我的python脚本中使用下面的源代码来发送一封电子邮件,该电子邮件基本上读取了html文件并将其发送到电子邮件中。问题是当电子邮件来的时候,它显示了电子邮件上的内容,它有一些额外的(!)单词/字符。我想也许 html 有但是在检查 html 文件后没有这样的单词/字符。
我正在创建多个 html 小文件,并将它们合并为一个 html 文件并在电子邮件中发送或显示这些内容。
import smtplib
from email.mime.text import MIMETEXT
from email.mime.multipart import MIMEMultipart
AUTH_FROM_EMAIL = 'abc@email.com'
MAIL_HOST = 'smtp-abc.net'
def drop_email(sfrom=None,lstto=None,sub=None,body=None):
msg = MIMEMultipart('alternative')
msg[''] = subj
msg[''] = sfrom
for sto in sendtolst:
msg['To'] = sto
ishtml = 'html' in body.lower()
msg.attach(MIMETEXT(body, 'html' if ishtml else plain))
s = smtplib.SMTP(MAIL_HOST)
s.sendmail(AUTH_FROM_EMAIL, sendtolist, msg.as_string())
def main()
a(name)
sfrom = 'abc.text@abc.com'
sto1 = 'next.time@abc.com'
text = 'Greeting'
html_file = open('abc.html')
html = html_file.read()
subj = 'hello'
try:
drop_email(sfrom, [sto1], subj,html)
except (Exception) as e:
print(e)
输出(html表)类似的东西(第二行显示!在电子邮件中,而html文件没有这个:
ABC ID TYPE DATE TS
201-0403 124 MICE 20211004 201-01-04 09:30:00
201-0403 123 NICE 202!11004 201-01-04 10:30:00
201-0403 121 MICE 20211004 201-01-04 10:30:00
<html>
<style> table , th, td {border:1px solid black;}</style>
<body>
<h2>TABLE STATUS 20211004</h2>
<table>
<tr>
<th style="background-color:#00FF00">ABC</th>
<th style="background-color:#00FF00">ID</th>
<th style="background-color:#00FF00">TYPE</th>
<th style="background-color:#00FF00">DATE</th>
<th style="background-color:#00FF00">TS</th>
</tr>
<tr><td>201-0403</td><td>124</td><td>MICE</td><td>20211004</td><td>201-01-04 09:30:00</td></tr>
<tr><td>201-0403</td><td>122</td><td>NCE</td><td>20211004</td><td>201-01-04 09:30:00</td></tr>
<tr><td>201-0403</td><td>123</td><td>NICE</td><td>20211004</td><td>201-01-04 09:30:00</td></tr>
<tr><td>201-0403</td><td>125</td><td>RICE</td><td>20211004</td><td>201-01-04 09:30:00</td></tr>
</table>
</body>
</html>
print(repr(msg.as_string())) 的输出:
'Content-Type: multipart/aternative; boundary="=========0711723306722683063=="\nMIME-Version: 1.0\n
Subject: HELLO\nFROM: abc@tetx.com\n
TO:unkonw@text.com\n\n--=============0711723306722683063==\n
Content-Type: text/html; charset="us-ascii"\nMIME-Version: 1.0\n
Content-Transfer-Encoding: 7bit\n\n
<html>
<style> table , th, td {border:1px solid black;}</style>
<body>
<h2>TABLE STATUS 20211004</h2>
<table>
<tr>
<th style="background-color:#00FF00">ABC</th>
<th style="background-color:#00FF00">ID</th>
<th style="background-color:#00FF00">TYPE</th>
<th style="background-color:#00FF00">DATE</th>
<th style="background-color:#00FF00">TS</th>
</tr>
<tr><td>201-0403</td><td>124</td><td>MICE</td><td>20211004</td><td>201-01-04 09:30:00</td></tr>
<tr><td>201-0403</td><td>122</td><td>NCE</td><td>20211004</td><td>201-01-04 09:30:00</td></tr>
<tr><td>201-0403</td><td>123</td><td>NICE</td><td>20211004</td><td>201-01-04 09:30:00</td></tr>
<tr><td>201-0403</td><td>125</td><td>RICE</td><td>20211004</td><td>201-01-04 09:30:00</td></tr>
</table>
</body>
</html>\n\n
任何想法?
解决方案
推荐阅读
- javascript - 在页面加载时运行 TamperMokey 脚本
- jsreport - Jsreport XLSX 接收方:将 jsreport 响应保存到 excel 文件
- jmeter - JMeter 将加载时间保存到变量中
- javascript - 如何将对象添加到数组 + Firestore?
- angular - Angular 6 BehaviorSubject“未定义”:错误:TypeError:无法读取我声明的 BehaviorSubject 的属性
- python - 使用一个 .map 调用来使用一个字典更改数据框中多个系列/列的值
- html - 如何制作响应式引导下拉按钮?
- css - iPhone 8 时 iPhone 的媒体查询为 iPhone 10 加载 css
- php - 如何从php中的curl响应中获取cookie值
- react-native - React-navigation 导航到 DrawerNavigator 中的第一项,而不是打开它