delphi - Indy IMAP doesn't allow special characters for the password -
i connecting exchange server using indy tidimap4 component (version 10.6.0). works fine when there simple characters in password imap4rev1 doesn't seem allow else us-ascii. though if password contains special characters german umlauts, spaces, etc. authentication via imapconnection.connect
fails, i.e. throws exception saying "login failed".
i assume caused bug in tidimap4 component regarding sasl, though i'm not sure that.
if bug unrelated, there property can set or function can called allow authenticating? if bug causing these authentication problems, there workaround it?
and how actual connection code then?
sebastian
the sasl broken in tidimap4 issue addressed in 10.6.0, via internal performsasllogin_imap()
function in idimap4.pas. time being, tidimap4
uses own internal sasl implementation instead of using indy's normal sasl implementation. not issue.
the imap login
command not allow unicode, period. sasl allow unicode, indy not implement support unicode in sasl @ time.
you try patching idimap4.pas manually, changing these lines:
// lines 1368 , 1378 in performsasllogin_imap() aclient.iohandler.writeln(aencoder.encode(s));
to instead:
aclient.iohandler.writeln(aencoder.encode(s, indytextencoding_utf8));
but may or may not work depending on particular sasl used , if supports utf-8 or not.
i have opened new ticket in indy's issue trackers support unicode in sasl in future release.
Comments
Post a Comment