Chapter 39. Mail Microsoft Oauth
Since Camel 3.18.4.
The Mail Microsoft OAuth2 provides an implementation of org.apache.camel.component.mail.MailAuthenticator
to authenticate IMAP/POP/SMTP connections and access to Email via Spring’s Mail support and the underlying JavaMail system.
Add the following dependency to your pom.xml
for this component:
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-mail-microsoft-oauth</artifactId> <version>3.20.1.redhat-00050</version> <!-- use the same version as your Camel core version --> </dependency>
Importing camel-mail-microsoft-oauth
will automatically import camel-mail component.
39.1. Microsoft Exchange Online OAuth2 Mail Authenticator IMAP sample
To use OAuth, an application must be registered with Azure Active Directory. Follow the instructions to register a new application.
Procedure
- Enable the application to access Exchange mailboxes via client credentials flow. For more information, see Authenticate an IMAP, POP or SMTP connection using OAuth
-
Once everything is set up, declare and register in the registry, an instance of
org.apache.camel.component.mail.MicrosoftExchangeOnlineOAuth2MailAuthenticator
. - For Example, in a Spring Boot application:
@BindToRegistry("auth") public MicrosoftExchangeOnlineOAuth2MailAuthenticator exchangeAuthenticator(){ return new MicrosoftExchangeOnlineOAuth2MailAuthenticator(tenantId, clientId, clientSecret, "jon@doe.com"); }
- Then reference it in the Camel URI as follows:
from("imaps://outlook.office365.com:993" + "?authenticator=#auth" + "&mail.imaps.auth.mechanisms=XOAUTH2" + "&debugMode=true" + "&delete=false")