web-dev-qa-db-ja.com

PythonでMSExchangeからすべてのメールを取得するにはどうすればよいですか?

MS Exchange/OWAで受信したすべてのメールを表示したい。 Pythonを使用してこれを行う方法はありますか?

C# / Java にはいくつかの解決策があります。

しかし、Pythonでそれを行うにはどうすればよいですか?同様の質問は Pythonと交換するために接続する ですが、私はそれを行う方法を理解することができません。

7
Ani Menon

私が管理しているPython EWSパッケージ( https://pypi.python.org/pypi/exchangelib )はこれをサポートしています。簡単な例を次に示します。

from exchangelib import DELEGATE, Account, Credentials

creds = Credentials(
    username='MYWINDOMAIN\myusername', 
    password='topsecret')
account = Account(
    primary_smtp_address='[email protected]',
    credentials=creds, 
    autodiscover=True, 
    access_type=DELEGATE)

# Print first 100 inbox messages in reverse order
for item in account.inbox.all().order_by('-datetime_received')[:100]:
    print(item.subject, item.body, item.attachments)
15