オリジナルの「InterSystems IRIS で Python を使って IMAPクライアントを実装する」は、埋め込みPythonを使用してIMAPインバウンドアダプタを実装されていますが、最近メールプロバイダがあいついでoAuth2認証しか受け付けなくなってきているので、その対応をしてみました。
本稿のGitHubはこちらです。
変更点
GMAILに対してメールの送受信を可能とするためにオリジナルに以下の修正を施しています。
- IMAP(Python版)インバウンドアダプタにoAuth2認証およびRefreshTokenによるAccessTokenの更新を追加
- oAuth2認証およびRefreshTokenによるAccessTokenの更新機能を持つSMTPアウトバウンドアダプタを新規作成
- IMAPにバイナリの添付ファイルの処理を追加
- メッセージ削除に、推奨APIであるclient.uid("STORE")を使用するように変更
- ClientIdなど、センシティブな情報をコンテナ起動時に動的に適用するように変更
- 日本語使用時の文字化けに対処
3.添付ファイルが存在する場合、追加設定/ファイル・パスで指定したファイルパス(既定値は/var/tmp/)上に保存します。
5.の実現は、プロダクション(IMAPPyProduction.cls)起動の際に実行されるコールバックO




.png)


.png)

.png)





