我正在尝试从电子邮件中获取.jpg文件。我给自己发了一封附有照片的电子邮件。我正在使用Idle3 shell。登录后,以下操作将照片成功保存到我的计算机中。所以稍后,我想适应使用循环。
rawMessage = server.fetch([59], ['BODY[]', 'FLAGS'])
message = pyzmail.PyzMessage.factory(rawMessage[59][b'BODY[]'])
len(message.get_payload()) # response is 2
attachment = message.get_payload()[1]
attachment.get_content_type() # response is 'image/jpeg'
open(pathToFiles + 'rob.jpg', 'wb').write(attachment.get_payload(decode=True))
所以我再看一封电子邮件server.fetch([60], ['BODY[]', 'FLAGS'])
。我知道里面有张照片。我找到了:
>>> len(message.get_payload())
2
>>> attachment = message.get_payload()[1]
>>> attachment.get_content_type()
'application/octet-stream'
>>> attachment = message.get_payload()[0]
>>> attachment.get_content_type() 'multipart/alternative'
>>>
这些电子邮件是由学生通过手机发送的。
在这种情况下,照片在哪里?有效载荷的len()
= 2,所以这些部分之一应该是照片(我认为)。
什么是'application/octet-stream'
?
其中必须有文件名“ studentname.jpg”。我可以使用Thunderbird从电子邮件中下载它。
如何找到文件的名称和文件?