we have an issue in communication with an Exchange server via IMAP. SSL handshake is successful, but after that we get: AE_2300_1_0001 NO AUTHENTICATE
What are the potential reasons for that error?
PS: we still are on version 22.12. But I just saw in the current release notes that you fixed an issue reported by us in 23.7. Thank you for fixing that so fast.
thank you very much. Do you already have an update on this?
Some of our users are affected and are getting impatient with the need to change their passwords.
Especially it would be good to know if there is a workaround on our side that we could apply.
@ugort
We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.
Issue ID(s): EMAILJAVA-35204
You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.
@sergey.vivsiuk
Thank you for taking care of the issue. Please note that we are not sure if the mail servers we need to address support UTF8 capability or not. Greenmail (which we use for unit tests) for example does not. But still supports ö,ä when used together with Thunderbird.
In this example we use Greenmail as the IMAP server and “username” as the username and “passwörd” as password.
When we observed the traffic with Wireshark we saw that Thunderbird sends the password ISO-8859-1 encoded while Aspose uses UTF-8. We did not find a way to tell Aspose to use ISO-8859-1 as well. Maybe that helps.
Your imap.log file might be of great help. We can make this thread private for you to securely share the file with us for investigation. Besides, you can delete all the sensitive information from the file.
I did some further debugging and this is what I discovered:
The LOGIN command does not support unicode when using our MS Exchange Server
However, when I use AUTHENTICATE PLAIN it works
When using AUTHENTICATE PLAIN we also have to be able to set the credential encoding which is used on the username/password String before encoding it to base64.
You can create the correct base64 string in a console using unix tools like this: