2024-06-28 14:34:08 发布
网友
我试图通过构建对我有用的程序/脚本来自学如何编程。我正在尝试重组我在网上找到的一个脚本,用python脚本(Source)通过gmail发送电子邮件。在
这个例子有一部分代码附加文件,我不想要/不需要。我已经调整了代码,使我不必附加任何文件,但当我这样做时,我失去了电子邮件的主体。有没有关于如何修改代码以保持邮件正文完整的帮助/提示?在
感谢你的帮助。在
我看你对你做错了什么有了线索。在
在本例中,attach()方法指的是向电子邮件中添加内容。这是令人困惑的,因为当我们要附加东西和电子邮件时,我们考虑的是添加额外的文件,而不是正文。在
attach()
基于其他一些examples,attach方法似乎用于将文本添加到正文或将文件添加到电子邮件中。在
所以,为了回答您的问题,attach方法做了您认为它做的事情,而且它还向正文添加了文本。在
顺便说一句,欢迎光临。聪明的选择选择Python来学习如何编写脚本。在
您使用的示例代码创建了一个多部分的MIME消息。一切都是附件,包括消息体。如果你只想发送一个简单的单一部分的纯文本或HTML消息,你不需要任何MIME的东西。这只会增加复杂性。在示例的sendmail()调用中,可以看到msg.as\u字符串()? 好吧,这只是把你创建的MIME对象转换成文本。如果您首先处理的是文本,那么您可以很容易地自己指定文本。在
下面的函数类似于我编写的脚本中用于邮寄日志文件的代码。它接受纯文本正文并将其转换为预先格式化的HTML(以便在Outlook中更好地工作)。如果您想保持纯文本,只需去掉添加HTML标记的行,并将Content-Type标题更改为“text/plain”
import smtplib def sendmail(sender, recipient, subject, body, server="localhost"): "Sends an e-mail to the specified recipient." body = ("<html><head></head><body><pre>%s</pre></body></html>" % body.replace("&", "&").replace("<", "<")) headers = ["From: " + sender, "Subject: " + subject, "To: " + recipient, "MIME-Version: 1.0", "Content-Type: text/html"] headers = "\r\n".join(headers) session = smtplib.SMTP(server) session.sendmail(sender, recipient, headers + "\r\n\r\n" + body) session.quit()
我看你对你做错了什么有了线索。在
在本例中,
attach()
方法指的是向电子邮件中添加内容。这是令人困惑的,因为当我们要附加东西和电子邮件时,我们考虑的是添加额外的文件,而不是正文。在基于其他一些examples,attach方法似乎用于将文本添加到正文或将文件添加到电子邮件中。在
所以,为了回答您的问题,attach方法做了您认为它做的事情,而且它还向正文添加了文本。在
顺便说一句,欢迎光临。聪明的选择选择Python来学习如何编写脚本。在
您使用的示例代码创建了一个多部分的MIME消息。一切都是附件,包括消息体。如果你只想发送一个简单的单一部分的纯文本或HTML消息,你不需要任何MIME的东西。这只会增加复杂性。在示例的sendmail()调用中,可以看到msg.as\u字符串()? 好吧,这只是把你创建的MIME对象转换成文本。如果您首先处理的是文本,那么您可以很容易地自己指定文本。在
下面的函数类似于我编写的脚本中用于邮寄日志文件的代码。它接受纯文本正文并将其转换为预先格式化的HTML(以便在Outlook中更好地工作)。如果您想保持纯文本,只需去掉添加HTML标记的行,并将Content-Type标题更改为“text/plain”
相关问题 更多 >
编程相关推荐