我在内存中有一个我创建的图像(使用 numpy 和 PIL),我想以编程方式将其附加到创建的电子邮件中。我知道我可以将其保存到文件系统,然后重新加载/附加它,但这似乎效率低下:有没有办法将其通过管道传输到 mime 附件而不保存?
保存/重新加载版本:
from PIL import Image
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
...some img creation steps...
msg = MIMEMultipart()
img_fname = '/tmp/temp_image.jpg'
img.save( img_fname)
with open( img_fname, 'rb') as fp:
img_file = MIMEImage( fp.read() )
img_file.add_header('Content-Disposition', 'attachment', filename=img_fname )
msg.attach( img_file)
...add other attachments and main body of email text...
Run Code Online (Sandbox Code Playgroud)