我希望使用PIL创建图像,并能够通过电子邮件发送,而无需将其保存到磁盘。
以下是可行的方法,但需要先将其保存到磁盘:
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
msg = MIMEMultipart()
im = Image.new("RGB", (200, 200))
with open("tempimg.jpg", "w") as f:
im.save(f, "JPEG")
with open("tempimg.jpg", 'rb') as f:
img = MIMEImage(f.read())
msg.attach(img)
现在我希望能够做到以下操作:
import StringIO
tempimg = StringIO.StringIO()
tempimg.write(im.tostring())
img = MIMEImage(tempimage.getvalue(), "JPG")
msg.attach(img)
发现某些代码不起作用。在西班牙语的讨论中找到了一些与此相同的问题,但没有提供解决方法,只有一个关于StringIO的指针。