python - 创建一个文本文件,并通过电子邮件发送而不保存在本地

标签 python email text

我想用 Python 创建一个文本文件,向其中写入一些内容,然后通过电子邮件将其发送出去(将 test.txt 作为电子邮件附件)。

但是,我无法在本地保存此文件。有谁知道该怎么做?

只要我打开要写入的文本文件,它就会保存在我的本地计算机上。

f = open("test.txt","w+")

我正在使用 smtplibMIMEMultipart 发送邮件。

最佳答案

StringIO是要走的路...

from email import encoders
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart

from io import StringIO

email = MIMEMultipart()
email['Subject'] = 'subject'
email['To'] = 'recipient@example.com'
email['From'] = 'sender@example.com'

# Add the attachment to the message
f = StringIO()
# write some content to 'f'
f.write("content for 'test.txt'")
f.seek(0)

msg = MIMEBase('application', "octet-stream")
msg.set_payload(f.read())
encoders.encode_base64(msg)
msg.add_header('Content-Disposition',
               'attachment',
               filename='test.txt')
email.attach(msg)

关于python - 创建一个文本文件,并通过电子邮件发送而不保存在本地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49181373/

相关文章:

python - Python 中的 JQuery/CSS 选择器?

Java 邮件 : sending email without SMTP

python - 在 Python 的 ElementTree 中提取标签后的文本

python插值需要很长时间

Python在多维字典中添加数据

接下来使用 Python 并发送相同的生成器

Python 3.6 Mbox 到 CSV

如果内容超过一定限制,PHP 电子邮件会中断

java - Android java - 是否可以从 RadioGroup 中的 RadioButton 获取文本,而无需每个 RadioButton 都有定义的 id?

swift - xcode 8 输入字段操作不显示事件下拉列表