【发布时间】:2020-12-19 23:44:10
【问题描述】:
我编写了一个脚本,将活动和非活动 wifi 设备列表打印到文本文件中。我想通过电子邮件发送这个文本文件的内容。但是,消息是空的。
import smtplib
from email.mime.text import MIMEText
file = open('list_of_wifi_devices.txt')
file = file.read()
sender = ...
receiver = ...
password = ...
smtpObj = smtplib.SMTP('smtp.gmail.com', 587)
smtpObj.ehlo()
smtpObj.starttls()
smtpObj.login(sender, password)
smtpObj.sendmail(sender, receiver, file)
smtpObj.quit()
【问题讨论】:
-
您正在尝试将文件内容作为文本包含在电子邮件正文中(不附加实际文件),是吗?
-
是的,只有内容。不是附件。
-
是否真的发送了一封电子邮件,但它的正文是空的?我会看看
smtpObj.set_debuglevel(1)是否对你有帮助。另外,尝试使用 SMTP_SSL 替换 SMTP 来启动 SSL 连接,而不是使用 startls 切换到一个(似乎不太可能是原因)。 -
您的建议没有帮助。是的,该脚本适用于发送电子邮件。身体只是空的。
-
在正文开头插入换行符,例如
file = "\n" + file.read()。 PS 最好不要重用变量名file,但您可以稍后解决。
标签: python