作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想用 Python 创建一个文本文件,向其中写入一些内容,然后通过电子邮件将其发送出去(将 test.txt
作为电子邮件附件)。
但是,我无法在本地保存此文件。有谁知道该怎么做?
只要我打开要写入的文本文件,它就会保存在我的本地计算机上。
f = open("test.txt","w+")
我正在使用 smtplib
和 MIMEMultipart
发送邮件。
最佳答案
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/
我是一名优秀的程序员,十分优秀!