|Subject:||Problems with SASL and TIdSASLLogin|
|Posted by:||AncientDreamer (..@think.not)|
|Date:||Wed, 17 Nov 2004|
I just dicoverered Indy's SASL last night, so my lack of understanding may
very well be the root of my problems.
I'm using Indy 10.0.52, by the way
I'll illustrate using a small example that is close to what the Indy FAQ
says on the subject:
I drop TIdSMTP, TIdUserPassProvider and TIdSASLLogin on a form and set up
the neccessary links between them, as well as Id/Pwd for the
UserPassProvider. The SMTP AuthType is set to atSASL.
I then load a mail message into a TIdMessage and do a connect to the server,
which seems to work.
Next, I do a IdSMTP1.Send(msg); and this always generates an exception in
for i := Count - 1 downto 0 do begin
if Assigned(Items[i].FSASL) then
if LSupportedSASL.IndexOf(Items[i].FSASL.ServiceName) >= 0 then
LS := LSASLMechanisms.Add;
Adding other SASLmechanisms to the collection works, but that's most likely
because their ServiceNames don't trigger the Assign statement.
Any input on this will be appreciated.
As a follow up question: Is there a recommended sequence of SASL mechanisms
to set up, since I have no idea what servers the users will connect to?
Currently I have: