AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi TIdPOp3 und deutsche Sonderzeichen im Passwort
Thema durchsuchen
Ansicht
Themen-Optionen

TIdPOp3 und deutsche Sonderzeichen im Passwort

Ein Thema von hoika · begonnen am 11. Jul 2014 · letzter Beitrag vom 14. Jul 2014
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#1

TIdPOp3 und deutsche Sonderzeichen im Passwort

  Alt 11. Jul 2014, 13:55
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)

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

Benutzt wird Delphi2007.

Was nun ?

Danke

Heiko
Heiko

Geändert von hoika (11. Jul 2014 um 14:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: TIdPOp3 und deutsche Sonderzeichen im Passwort

  Alt 11. Jul 2014, 14:31
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. IdPOP31.AuthType := patSASL , bzw. über eine der TidSASLxxx-Klassen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: TIdPOP3 und deutsche Sonderzeichen im Passwort

  Alt 11. Jul 2014, 14:44
Hallo,

"doesn't support AUTH or SASL handler"

Welchen Handler muss ich denn nehmen ?
Im Moment habe ich

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
Heiko

Geändert von hoika (11. Jul 2014 um 14:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#4

AW: TIdPOP3 und deutsche Sonderzeichen im Passwort

  Alt 11. Jul 2014, 16:30
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.
Angehängte Dateien
Dateityp: 7z SendMail.7z (31,7 KB, 6x aufgerufen)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: TIdPOp3 und deutsche Sonderzeichen im Passwort

  Alt 14. Jul 2014, 11:58
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
Heiko

Geändert von hoika (14. Jul 2014 um 12:01 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:40 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