You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2022/10/19 07:19:00 UTC

[jira] [Commented] (CAMEL-18623) Camel Mail Component does not work with OAuth2

    [ https://issues.apache.org/jira/browse/CAMEL-18623?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17620053#comment-17620053 ] 

Claus Ibsen commented on CAMEL-18623:
-------------------------------------

I think some have made camel-mail work with oauth. Camel uses the javax mail JAR so what it supports then that should likely be possible to do with camel-mail too.

You should use additionalJavaMailProperties to set properties on javax mail. So try changing `mail.imap.xxx` to `additionalJavaMailProperties.xxx` instead. You can also put all of that into a properties object and refer to it via #style.

If you get this working then we love contributions and you are welcome to help update the docs

> Camel Mail Component does not work with OAuth2
> ----------------------------------------------
>
>                 Key: CAMEL-18623
>                 URL: https://issues.apache.org/jira/browse/CAMEL-18623
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-mail
>    Affects Versions: 3.18.2
>            Reporter: Jeff
>            Priority: Minor
>             Fix For: 3.x
>
>
> Camel mail component does not appear to work with OAuth2. This seems clear from the lack of documentation or unit tests regarding OAuth2, but having spent a few hours trying different approaches it seems like the reason it doesn't work is that it isn't supported. So maybe this is a new feature request if the mail component is indeed not intended to work with OAuth2. If it is intended to work with OAuth2, and there is some evidence of this, please be so kind as to direct me to it. I would be happy to update the docs if this is the case.
> Here is the component for reference:
>  
> {code:java}
> from('imaps://{{app.email.exchange.host}}?' +
> 'mail.imap.auth.mechanisms=XOAUTH2&' +
> 'mail.imap.starttls.enable=true&' +
> 'mail.imap.auth.plain.disable=true&' +
> 'mail.imap.auth.ntlm.disable=true&' +
> 'mail.imap.auth.gssapi.disable=true&' +
> 'mail.imap.auth.xoauth2.disable=false&' +
> 'authenticator=#exchangeAuthenticator&' +
> 'debugMode=true&' +
> 'bridgeErrorHandler=true&' +
> 'delete=true'){code}
>  
>  
> And the debug output:
> DEBUG: setDebug: Jakarta Mail version 1.6.7
> DEBUG: getProvider() returning javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle]
> DEBUG IMAPS: mail.imap.fetchsize: 16384
> DEBUG IMAPS: mail.imap.ignorebodystructuresize: false
> DEBUG IMAPS: mail.imap.statuscachetimeout: 1000
> DEBUG IMAPS: mail.imap.appendbuffersize: -1
> DEBUG IMAPS: mail.imap.minidletime: 10
> DEBUG IMAPS: closeFoldersOnStoreFailure
> DEBUG IMAPS: trying to connect to host "outlook.office365.com", port 993, isSSL true
> OK The Microsoft Exchange IMAP4 service is ready. ...
> A0 CAPABILITY
> CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN AUTH=XOAUTH2 SASL-IR UIDPLUS MOVE ID UNSELECT CHILDREN IDLE NAMESPACE LITERAL+
> A0 OK CAPABILITY completed.
> B0 OK CAPABILITY completed.
> DEBUG IMAPS: AUTH: PLAIN
> DEBUG IMAPS: AUTH: XOAUTH2
> DEBUG IMAPS: protocolConnect login, host=outlook.office365.com, user=user@email.com, password=<non-null>
> DEBUG IMAPS: AUTHENTICATE XOAUTH2 command trace suppressed
> DEBUG IMAPS: AUTHENTICATE XOAUTH2 command result: B1 NO AUTHENTICATE failed.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)