私はデータを操作できるように、私の交換/ Outlookプロファイル上のフォルダ内の電子メールの内容を読む短いプログラムを書こうとしています。しかし、私はPythonとExchange/Outlookの統合に関する多くの情報を見つけるのに問題があります。物事の多くは非常に古い/ドキュメント/説明されていないいずれかです。私はいくつかのスニペットを試しましたが、同じエラーが発生しているようです。私はエラーを取得するしかしMAPI経由でPythonでOutlookから電子メールを読む
import win32com.client
session = win32com.client.gencache.EnsureDispatch ("MAPI.Session")
#
# Leave blank to be prompted for a session, or use
# your own profile name if not "Outlook". It is also
# possible to pull the default profile from the registry.
#
session.Logon ("Outlook")
messages = session.Inbox.Messages
#
# Although the inbox_messages collection can be accessed
# via getitem-style calls (inbox_messages[1] etc.) this
# is the recommended approach from Microsoft since the
# Inbox can mutate while you're iterating.
#
message = messages.GetFirst()
while message:
print message.Subject
message = messages.GetNext()
:私はティムゴールデンのコードを試してみた
pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)
なく、私のプロファイル名はので、私はしてみましたが何であるかを確認します。プロンプトが表示されるように
session.Logon()
をしかし、どちらもうまくいきませんでした(同じエラー)。また、Outlookのオープンとクローズの両方を試してみました。
Outlookクライアントに依存するのではなく、サーバーに対してIMAPを使用することを検討しましたか?あなたのユースケースに応じて、IMAPは実行可能ではるかに移植性が高い(クライアントとサーバーの両方)ことが証明されるかもしれません。 –
@Jason IMAPはうまく見えますが、残念ながら私が使用しているアカウントでは有効になっていません。 – johnharris85