第39章 Microsoft Oauth のメール
Camel 3.18.4 以降
メール Microsoft OAuth2 は、org.apache.camel.component.mail.MailAuthenticator
の実装を提供して、IMAP/POP/SMTP 接続を認証し、Spring のメールサポートと基盤となる JavaMail システムを介してメールにアクセスします。
このコンポーネントの pom.xml
に次の依存関係を追加します。
camel-mail-microsoft-oauth
をインポートすると、camel-mail コンポーネントが自動的にインポートされます。
39.1. Microsoft Exchange Online OAuth2 Mail Authenticator IMAP サンプル リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
OAuth を使用するには、アプリケーションを Azure Active Directory に登録する必要があります。指示に従って、新しいアプリケーションを登録します。
手順
- アプリケーションがクライアントクレデンシャルフローを介して Exchange メールボックスにアクセスできるようにします。詳細については、OAuth を使用して IMAP、POP、または SMTP 接続を認証する を参照してください。
-
すべての設定が完了したら、レジストリーで
org.apache.camel.component.mail.MicrosoftExchangeOnlineOAuth2MailAuthenticator
のインスタンスを宣言して登録します。 - たとえば、Spring Boot アプリケーションでは次のようになります。
@BindToRegistry("auth") public MicrosoftExchangeOnlineOAuth2MailAuthenticator exchangeAuthenticator(){ return new MicrosoftExchangeOnlineOAuth2MailAuthenticator(tenantId, clientId, clientSecret, "jon@doe.com"); }
@BindToRegistry("auth")
public MicrosoftExchangeOnlineOAuth2MailAuthenticator exchangeAuthenticator(){
return new MicrosoftExchangeOnlineOAuth2MailAuthenticator(tenantId, clientId, clientSecret, "jon@doe.com");
}
- 次に、Camel URI で次のように参照します。
from("imaps://outlook.office365.com:993" + "?authenticator=#auth" + "&mail.imaps.auth.mechanisms=XOAUTH2" + "&debugMode=true" + "&delete=false")
from("imaps://outlook.office365.com:993"
+ "?authenticator=#auth"
+ "&mail.imaps.auth.mechanisms=XOAUTH2"
+ "&debugMode=true"
+ "&delete=false")