Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   TIdPOp3 und deutsche Sonderzeichen im Passwort (https://www.delphipraxis.net/181060-tidpop3-und-deutsche-sonderzeichen-im-passwort.html)

hoika 11. Jul 2014 12:55

TIdPOp3 und deutsche Sonderzeichen im Passwort
 
Hallo,

das Auslesen von Mails mit einfachen Passwörtern (a..z,A..Z,0..1) klappt ohne Probleme.
Hat das Passwort aber ein deutsches Sonderzeichen (ü), kommt "authentication error".
Es handelt sich um UTF8-Nachrichten (der Mail-Server und der Mail-Sender sind beides java-Programme)

Delphi-Quellcode:
IdPOP3.IOHandler.DefStringEncoding := IndyTextEncoding_UTF8;
erzeugt sogar eine Schutzverletzung.

Benutzt wird Delphi2007.

Was nun ?

Danke

Heiko

himitsu 11. Jul 2014 13:31

AW: TIdPOp3 und deutsche Sonderzeichen im Passwort
 
Wenn du gleichzeitig versucht noch bissl mehr Sicherheit mit reinzubekommen, indem du die Authentifikation verbesserst?
Durch die Verschlüsselung sind dann keine Umlaute mehr in der Übertragung drin.

z.B.
Delphi-Quellcode:
IdPOP31.AuthType := patSASL
, bzw. über eine der TidSASLxxx-Klassen.

hoika 11. Jul 2014 13:44

AW: TIdPOP3 und deutsche Sonderzeichen im Passwort
 
Hallo,

"doesn't support AUTH or SASL handler"

Welchen Handler muss ich denn nehmen ?
Im Moment habe ich

Delphi-Quellcode:
theIdPOP3.SASLMechanisms.Add.SASL := theIdSASLPlain;


Langsam gebe ich es auf.
(Es handelt sich hier übrigens um KV-CONNECT).

Da ich am Mail-Server nichts ändern kann,
nützt ja das "Verschlüsselung verbessern" nichts.


Heiko

himitsu 11. Jul 2014 15:30

AW: TIdPOP3 und deutsche Sonderzeichen im Passwort
 
Liste der Anhänge anzeigen (Anzahl: 1)
Die (ordentlichen) Mailserver sollten sowas eigentlich alle können.

Bin mir jetzt auch nicht mehr ganz sicher, aber vielleicht hilft ja ein Blick in 'nen alten Code, den ich auf die Schnelle in der hintersten Ecke wieder fand.

hoika 14. Jul 2014 10:58

AW: TIdPOp3 und deutsche Sonderzeichen im Passwort
 
Hallo,

sollten ja, Thunderbird Portable kommt damit klar, Indy im Moment nicht ;(
Dein Quellcode sieht ähnlich dem meinen aus:

Delphi-Quellcode:
procedure TXXXService.ErzeugePOP3Klassen(theLoginData: T1ClickLoginData;
  var theIdPOP3: TIdPOP3; var theIdUserPassProvider: TIdUserPassProvider;
  var theIdSASLPlain : TIdSASLPlain);
var
  s1ClickPasswort : String;
begin
  s1ClickPasswort := 'Geheim';

  theIdPOP3 := TIdPOP3.Create;
  theIdUserPassProvider:= TIdUserPassProvider.Create(NIL);
  theIdSASLPlain := TIdSASLPlain.Create(NIL);

  theIdUserPassProvider.Username := theLoginData.NutzerName;
  //theIdUserPassProvider.Password := s1ClickPasswort;
  theIdUserPassProvider.Password := s1ClickPasswort;

  theIdSASLPlain.UserPassProvider := theIdUserPassProvider;

  theIdPOP3.Host := theLoginData.Server;
  theIdPOP3.Port := StrToInt(theLoginData.POP3Port);
  theIdPOP3.Username := theLoginData.NutzerName;
  theIdPOP3.Password := s1ClickPasswort;
  theIdPOP3.IOHandler := CreateSSLHandler(theIdPOP3);
  theIdPOP3.UseTLS := utUseImplicitTLS;
  theIdPOP3.AuthType := patUserPass;
  theIdPOP3.SASLMechanisms.Add.SASL := theIdSASLPlain;

  theIdPOP3.IOHandler.DefStringEncoding := IndyTextEncoding_UTF8;//TIdTextEncoding.UTF8;
end { TXXXService.ErzeugePOP3Klassen } ;

function TXXXService.CreateSSLHandler(Owner: TComponent): TIdSSLIOHandlerSocketOpenSSL;
begin
  Result := TIdSSLIOHandlerSocketOpenSSL.Create(Owner);
  Result.OnVerifyPeer := SSLVerifyPeerEventHandler;
  Result.SSLOptions.Method := sslvSSLv3;
  Result.SSLOptions.VerifyMode := [sslvrfClientOnce];
end { TXXXService.CreateSSLHandler } ;
Und wie gesagt, solange ich unterhalb Ord(127) mit meinem Passwort bleibe, klappt es ja ;(

Ändere ich das patUserPass ab, kommt sofort beim Cnnect eine Fehlermeldung
(AUTH oder SASL Mechanismus nicht unterstützt) (war eng. habe es im Moment nicht im Kopf).


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz