我想通过python以编程方式访问Mac OS X系统上存在的所有邮件,这些邮件由内置的“Mail.app”程序接收。是否有用于访问该程序存储的邮件的友好 API?我的印象是它不仅仅是一种文本格式,而且可能更复杂。谢谢。
从 2020 年开始,您可以使用Python emlx 库。
pip install emlx
Run Code Online (Sandbox Code Playgroud)
示例代码:
import emlx
import glob
for filepath in glob.iglob("/Users/<username>/Library/Mail/**/*.emlx", recursive=True):
m = emlx.read(filepath)
Run Code Online (Sandbox Code Playgroud)
在 message 上m,您可以进行各种操作:
>>> m.headers
{'Subject': 'Re: Emlx library ??',
'From': 'Michael <michael@example.com>',
'Date': 'Thu, 30 Jan 2020 20:25:43 +0100',
'Content-Type': 'text/plain; charset=utf-8',
...}
>>> m.headers['Subject']
'Re: Emlx library ??'
>>> m.plist
{'color': '000000',
'conversation-id': 12345,
'date-last-viewed': 1580423184,
'flags': {...}
...}
>>> m.flags
{'read': True, 'answered': True, 'attachment_count': 2}
Run Code Online (Sandbox Code Playgroud)
如果您需要speed,您可以解析plist并且flags仅:
>>> m = emlx.read(filepath, plist_only=True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3694 次 |
| 最近记录: |