这是我的代码,我很确定我遗漏了一些东西,因为什么都没有用(似乎所有可用数据的方法都返回None或其他东西)。
另外为什么附件是zip而不是base64编码的二进制blob(它是Mac OS 10.8的Calculator.app)。
如果重要的话,我从gmail帐户使用Twisted IMAP获得了电子邮件正文(这是我使用Mail.app发送给自己的电子邮件)。
>>> print str(msg)[:500]
From nobody Mon Jan 7 16:24:14 2013
--Apple-Mail=_230B9062-36B9-45EF-8E8B-C552D6FA8577
Content-Disposition: attachment;
filename=Calculator.app.zip
Content-Type: application/zip;
x-mac-auto-archive=yes;
name="Calculator.app.zip"
Content-Transfer-Encoding: base64
UEsDBAoAAAAAAEGlFkEAAAAAAAAAAAAAAAAPABAAQ2FsY3VsYXRvci5hcHAvVVgMAFp8NVBafDVQ
9QEUAFBLAwQKAAAAAABIpRZBAAAAAAAAAAAAAAAAGAAQAENhbGN1bGF0b3IuYXBwL0NvbnRlbnRz
L1VYDABnfDVQZ3w1UPUBFABQSwMECgAAAAAASKUWQQAAAAAAAAAAAAAAACcAEABDYWx
>>> msg.get_filename()
>>> msg.get_charset()
>>> msg.get('Content-Disposition')
>>> msg.get('Content-Transfer-Encoding')
>>> msg.get('Content-Transfer-Type')
>>> msg.get('name')
>>>
>>>
>>> part = list(msg.walk())[0]
>>> part.get_content_type()
'text/plain'
>>> len(list(msg.walk()))
1
>>> part.get_filename()
>>>