mguessan / davmail

DavMail POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365 Gateway - Synced with main subversion repository at
http://davmail.sourceforge.net
GNU General Public License v2.0
580 stars 86 forks source link

DavMail 6.2 fails to open O365Interactive; JavaFX issue? #322

Closed ifinkelstein closed 10 months ago

ifinkelstein commented 10 months ago

Hello and thank you for making DavMail--a core component of my daily workflow.

I ran into a recent issue after having my DavMail client work flawlessly for many months.

In O365Interactive mode, the authentication window never pops up. Instead DavMail falls back to O365Manual, which I cannot use with my University.

Details: Current DavMail version: 6.2.0-3464

java -version

java version "21.0.1" 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)

The key message in the DavMail log appears to be:

Date:           Wed Jan 03 23:16:41 CST 2024 (1704345401830)
Thread:     ImapConnection-49334
Message #:  10
Level:      WARN
NDC:            
Category:   davmail.exchange.auth.O365InteractiveAuthenticator
Message:        Unable to load JavaFX (OpenJFX), switch to manual mode
Location:   davmail.exchange.auth.O365InteractiveAuthenticator.authenticate(O365InteractiveAuthenticator.java:143)
Thrown:

I am on Mac OSX Ventura. I did not change the Java installation, although I can't be sure that a system update didn't do something funny. Don't think that the problem showed up after an update either way. Very happy to help debug if you don't have a Mac handy.

I didn't change the DavMail settings before or after this cropped up.

mguessan commented 10 months ago

This means your JDK does not include OpenJFX.

Need someone to test the following approach as I don't have a working OSX environment:

To get all features, run with latest Zulu JRE FX:

ifinkelstein commented 10 months ago

Thank you for your response. I had trouble following your instructions, but the following worked:

  1. Install sdkman from: https://sdkman.io/
  2. Install Zulu JRE+FX: sdk install java 21.0.1.fx-zulu
  3. Check that this is the default with:
    java -version
    openjdk version "21.0.1" 2023-10-17 LTS
    OpenJDK Runtime Environment Zulu21.30+15-CA (build 21.0.1+12-LTS)
    OpenJDK 64-Bit Server VM Zulu21.30+15-CA (build 21.0.1+12-LTS, mixed mode, sharing)

Now, O365Interactive launches an authentication window and I can proceed through my SSO + Duo 2FA authentication.

(I am getting stuck at a new issue, that I'll post separately)

Thank you again!