![]() |
Authentication rejected/ Autehnticaion failed
Hallo zusammen, möchte mir selber eine Mail schreiben, aber erhalte beim Button Click immer eine Exception:
Exception-Klasse EIdSMTPReplayError mit Meldung 'Authentication rejected/ Autehnticaion failed.'
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var slText: TStringList; begin IdSMTP1.Host := 'smtpmail.t-online.de'; IdSMTP1.Username := 'mail@t-online.de'; IdSMTP1.Password := 'Beispielpasswort'; IdMessage1.From.Text := 'mail@t-online.de'; IdMessage1.Sender.Text := 'TestEmail'; IdMessage1.Recipients.EMailAddresses := 'mail@t-online.de'; IdMessage1.Subject := 'Hallo das ist ein Text'; slText := TSTringList.Create; slText.Add('Hier steht auch ein Text.'); IdMessage1.Body := slText; try IdSMTP1.Connect; IdSMTP1.Authenticate; IdSMTP1.Send(IdMessage1); IdSMTP1.Disconnect(); except ShowMessage('EMail konnte nicht gesendet werden'); end; slText.Free; end; end. Habe auch die Suche Funktion verwendet, habe allerdings nichts zu diesem Problem gefunden. |
AW: Authentication rejected/ Autehnticaion failed
nun ja, die Fehlermeldung ist eindeutig. Entweder stimmt dein Passwort bzw. die
Kombination aus Username und Passwort nicht oder imho wird hier smtp after Post zwangsweise vorgeschrieben. :-m |
AW: Authentication rejected/ Autehnticaion failed
mhhm werd ich mir mal ankucken, sobald die doofe VM gestartet ist. :)
|
AW: Authentication rejected/ Autehnticaion failed
Wann kommt denn der Fehler? Schon beim connect() oder erst
beim Send(). Wenn ich mich recht erinnere, muss beim idMessage.Sender(..) eine gültige EMailadresse enthalten sein.:gruebel: |
AW: Authentication rejected/ Autehnticaion failed
Der Fehler tritt auf bei:
Delphi-Quellcode:
try IdSMTP1.Connect; // Connect wird ausgeführt IdSMTP1.Authenticate; // Beim Authenticate knallts dann IdSMTP1.Send(IdMessage1); IdSMTP1.Disconnect(); |
AW: Authentication rejected/ Autehnticaion failed
Aus Hilfe:
Zitat:
Nimm das Authenticate mal raus, da es beim Send eh ausgeführt wird wenn noch nicht geschehen. Der Port müsste passen, da der connect geht. Alternativ kannst auch mal den Port 587 testen. Welchen AuthType hast Du gesetzt? Steht der auf atDefault bzw. auf DEF_SMTP_AUTH? |
AW: Authentication rejected/ Autehnticaion failed
danke erstmal bis dahin.
folgende Erkenntnis: hab des Authenticate rausgenommen --> selbe Meldung. AuthType steht auf: satDefault soo und beim Port, den habe ich mal auf 587 geändert da scheint er eine ganze weile zu Arbeiten, jedoch bekomm ich dann wieder eine Fehlermeldung: Socket Error # 10060 Connection Time Out |
AW: Authentication rejected/ Autehnticaion failed
Hast Du im idMessage.Sender(..) eine gültige EMailadresse? (s.#4)
|
AW: Authentication rejected/ Autehnticaion failed
Bei mir sieht das so aus :
Delphi-Quellcode:
Das stammt wohl auch ursprünglich aus den Indy-Beispielen (läuft allerdings schon bei mir in einem Programm). Vermutlich verhindert das direkte Disconnect ohne den Try/finally Block, dass alles abgearbeitet wird. Das ist bei allen solchen DSL, email,Modem etc. Programmen zu beobachten : Zeit ist entscheidend. Zu schnell : es kracht irgendwo. Zu langsam : Timeout und weiss der Teufel was noch. :mrgreen:
SMTP.Connect;
try SMTP.Send(IdMsgSend); finally SMTP.Disconnect; end; |
AW: Authentication rejected/ Autehnticaion failed
mein bisheriger Code:
Delphi-Quellcode:
scheppert bei:
procedure TForm1.btnEinloggenClick(Sender: TObject);
var slText: TStringList; begin IdSMTP1.Host := 'smtpmail.t-online.de'; IdSMTP1.Username := 'EmailAdresse'; IdSMTP1.Password := 'EmailPasswort'; IdMessage1.Sender.Name := 'EmailAdresse'; IdMessage1.Sender.Address := 'EmailAdresse'; IdMessage1.From.Text := 'EmailAdresse'; IdMessage1.Sender.Text := 'EmailText'; IdMessage1.Recipients.EMailAddresses := 'EmailAdresse'; IdMessage1.Subject := 'Hallo Ich'; slText := TSTringList.Create; slText.Add('Hier werden die Daten später stehen'); IdMessage1.Body := slText; IdSMTP1.Connect; try IdSMTP1.Send(IdMessage1); finally IdSMTP1.Disconnect(); end; slText.Free; end;
Delphi-Quellcode:
kommt aber weiterhin noch die selbe Fehlermeldung... -.- :X :X
IdSMTP1.Send(IdMessage1);
zu Hast Du im idMessage.Sender(..) eine gültige EMailadresse? (s.#4) : IdMessage.Sender erwartet ein TidAdressEMailItem... Use the following properties to get or set the values for the TIdEMailAddressItem: Sender.Text Sender.Name Sender.Address die hab ich ja auch alle angegeben. Aber wie kann ich jetzte idMessage.Sender nen Wert zuweisen? :( :) |
AW: Authentication rejected/ Autehnticaion failed
Es geht um diese Zeilen:
Delphi-Quellcode:
Mach daraus mal folgendes:
IdMessage1.From.Text := 'mail@t-online.de';
IdMessage1.Sender.Text := 'TestEmail';
Delphi-Quellcode:
Also beide Einträge gleich im "From" und im "Sender".
IdMessage1.From.Text := 'mail@t-online.de';
IdMessage1.Sender.Text := 'mail@t-online.de'; |
AW: Authentication rejected/ Autehnticaion failed
das "Problem" mit idMessage.Sender(..) eine gültige EMailadresse? (s.#4) hab ich behoben, kann man ja auch im Objektinspektor anpassen und ändern. TIdMessage --> From --> Address: Mail@t-online.de den Rest füllt er dann ja selber.
--> Erhalte immer noch die Fehlermeldung. Zitat:
|
AW: Authentication rejected/ Autehnticaion failed
Wenn Du das im OI anpasst, aber im Quellcode wieder überschreibst,
greift letzteres. Zeig doch ggf. noch mal den aktuellen Code. |
AW: Authentication rejected/ Autehnticaion failed
Delphi-Quellcode:
im OI:
procedure TForm1.btnEinloggenClick(Sender: TObject);
var slText: TStringList; begin IdSMTP1.Host := 'smtpmail.t-online.de'; IdSMTP1.Username := 'Mail@t-online.de'; IdSMTP1.Password := 'Mailpasswort'; IdMessage1.Sender.Name := 'Mail@t-online.de'; IdMessage1.Sender.Address := 'Mail@t-online.de'; IdMessage1.From.Text := 'Mail@t-online.de'; IdMessage1.Sender.Text := 'Mail@t-online.de'; IdMessage1.Recipients.EMailAddresses := 'Mail@t-online.de'; IdMessage1.Subject := 'Hallo Ich'; slText := TSTringList.Create; slText.Add('Hier werden die Daten später stehen'); IdMessage1.Body := slText; IdSMTP1.Connect; try IdSMTP1.Send(IdMessage1); finally IdSMTP1.Disconnect(); end; slText.Free; end; TIdMessage --> From: Address: Mail@t-online.de Domain: t-online.de Name: Mail@t-online.de Text: <mail@t-online.de> User: mail |
AW: Authentication rejected/ Autehnticaion failed
Bemüh doch auch mal die Delphi-Hilfe und such nach
TIdEMailAddressItem Zitat:
Domain leer lassen (Domain is a read-only String property that indicates the host name) In Name steht nur der Name (hier z.B. "John Mail") Text leer lassen (wird aus address u. Name zusammengesetzt zu "John Mail" <mail@t-online.de> ) User leer lassen (User is a Public read-only String property) |
AW: Authentication rejected/ Autehnticaion failed
Habe es so geändert, aber funktioniert immer noch nicht -.-
Hab gleich Feierabend, dann schau ich heute Abend vielleicht nochmal drüber. Falls ihr noch Ideen habt, oder nen funktionierenden Code habt, ich freu mich :)
Code:
TIdMessage --> From:
Address: Mail@t-online.de Domain: t-online.de Name: Mailname Text: Mailname <Mail@t-online.de> User: Mail |
AW: Authentication rejected/ Autehnticaion failed
Im OI werden die Inhalte im "FROM"-Teil automatisch gesetzt.
In Deinem Fall sollte der "Name" aber leer bleiben. Es sei denn, er wird tatsächlich benötigt. Fällt mir nur noch ein, slText als TStrings zu deklarieren und den Rest so zu lassen:
Delphi-Quellcode:
In meinen Anwendungen habe ich die idMessage nicht auf der Form
var
slText: TStrings; sondern erstelle sie im Quellcode:
Delphi-Quellcode:
HTH
var
idMessage : TIdMessage; begin ... idMessage := TIdMessage.Create(); try idMessage.IsEncoded := True; idMessage.From.Text := FromAddr; idMessage.Sender.Text := FromAddr; idMessage.Recipients.Clear; for i := 0 to High(Main.aMy_Email) // Array mit Empfängern begin with idMessage.Recipients.Add do begin Name := PChar(''); Address := PChar(Main.aMy_Email[i]); end; end; idMessage.ContentType := 'multipart/mixed'; // wichtig !!! idMessage.Encoding := meMIME; idMessage.AttachmentEncoding := 'MIME'; idMessage.CCList.Clear; // usw. ... finally idMessage.free; end; |
AW: Authentication rejected/ Autehnticaion failed
Hast du denn, wie schon vorgeschlagen mal "POP before SMTP" ausprobiert? Also vorher die Mails abrufen, was eine Anmeldung erfordert und dann mit dieser Anmeldung die Mail zu verschicken?
|
AW: Authentication rejected/ Autehnticaion failed
zu GHorn:
gibt noch ein paar sachen die beim Compilieren angemeckert werden.
Delphi-Quellcode:
zu Luckie:
procedure TForm1.FormCreate(Sender: TObject);
var idMessage : TIdMessage; i: Integer; begin cbSystem.Items.Add('.Punkt 1'); cbSystem.Items.Add('.Punkt 2'); cbSystem.Items.Add('.Punkt 3'); btnEinloggen.Enabled := False; idMessage := TIdMessage.Create(); try idMessage.IsEncoded := True; idMessage.From.Text := 'Mail@t-online.de'; idMessage.Sender.Text := 'Mail@t-online.de'; idMessage.Recipients.Clear; for i := 0 to High(Main.aMy_Email); // Array mit Empfängern --> Was mus ich in dieses MAin.aMy_Email reinschreiben? begin with idMessage.Recipients.Add do begin Name := PChar(''); Address := PChar(Main.aMy_Email[i]); // --> auch hier, was muss ich reinschreiben? end; end; idMessage.ContentType := 'multipart/mixed'; // wichtig !!! idMessage.Encoding := meMIME; idMessage.AttachmentEncoding := 'MIME'; idMessage.CCList.Clear; // usw. ... finally idMessage.free; end; end; procedure TForm1.btnEinloggenClick(Sender: TObject); var slText: TStrings; begin IdSMTP1.Host := 'smtpmail.t-online.de'; IdSMTP1.Username := 'Mail@t-online.de'; IdSMTP1.Password := 'Mailpasswort'; IdMessage1.Sender.Name := 'Mail@t-online.de'; IdMessage1.Sender.Address := 'Mail@t-online.de'; IdMessage1.From.Text := 'Mail@t-online.de'; IdMessage1.Sender.Text := 'Mail@t-online.de'; IdMessage1.Recipients.EMailAddresses := 'Mail@t-online.de'; IdMessage1.Subject := 'Hallo Ich'; slText := TSTringList.Create; slText.Add('Hier werden die Daten später stehen'); IdMessage1.Body := slText; IdSMTP1.Connect; try IdSMTP1.Send(IdMessage1); finally IdSMTP1.Disconnect(); end; slText.Free; end; Wo konnte man das nochmal einstellen? (: (: (POP statt SMTP) oder meinst du direkt mit ner POP3 Komponente? |
AW: Authentication rejected/ Autehnticaion failed
Genau, erst mit einer POP3-Komponente anmelden und dann die E-Mail verschicken.
|
AW: Authentication rejected/ Autehnticaion failed
ah, ok, werd ich dann mal probieren.
also nochmal für die dummen :p du meinst, ich soll soll mich mit der POP3 Komponente anmelden und dann mit der SMTP komponente verschicken? |
AW: Authentication rejected/ Autehnticaion failed
Tut mir leid, deutlicher kann ich es nicht erklären. Kann mir da bitte mal jemand helfen?
|
AW: Authentication rejected/ Autehnticaion failed
Zitat:
Zitat:
![]() |
AW: Authentication rejected/ Autehnticaion failed
Zitat:
Im Array aMy_Email habe ich die Empfänger der Mail hinterlegt. Es können ja auch durchaus mal mehr als ein Empfänger sein. Wenn es nur ein Empfänger ist, hat aMy_Email die Länge 1. Wenn Du immer nur einen Empfänger hast, bruchst Du die FOR-Schleife nicht und schreibst direkt z.B. folgendes
Delphi-Quellcode:
Es ist immer hilfreich, wenn Du uns mitteilst, WAS der
s := 'Mail@t-online.de'; // var s: string;
with idMessage.Recipients.Add do begin Name := PChar(''); Address := PChar(s); end; Compiler anmeckert. Nehme an, dass es das (unbekannte) Array war. |
AW: Authentication rejected/ Autehnticaion failed
danke, werd ich im Laufe des Tages mal ausprobieren.
|
AW: Authentication rejected/ Autehnticaion failed
oooooh man.
Delphi-Quellcode:
Springt mir bei IdPOP31.Connect raus und meint Ivalid Login
procedure TForm1.btnEinloggenClick(Sender: TObject);
var slText: TStrings; s: String; begin s := 'zwerg7@t-online.de'; IdSMTP1.Host := 'smtpmail.t-online.de'; IdSMTP1.Username := 'Mail@t-online.de'; IdSMTP1.Password := 'Password'; IdPOP31.Host := 'popmail.t-online.de'; IdPOP31.Username := 'Password@t-online.de'; IdPOP31.Password := 'Password'; IdMessage1.Sender.Name := 'Mail@t-online.de'; IdMessage1.Sender.Address := 'Mail@t-online.de'; IdMessage1.From.Text := 'Mail@t-online.de'; IdMessage1.Sender.Text := 'Mail@t-online.de'; with IdMessage1.Recipients.Add do begin Name := PChar(''); Address := PChar(s); end; IdMessage1.Subject := 'Hallo Ich'; slText := TSTringList.Create; slText.Add('Hier werden die Daten später stehen'); IdMessage1.Body := slText; IdPOP31.Connect; try IDSMTP1.SendMsg(IdMessage1); finally IdPOP31.Disconnect(); end; slText.Free; end; -.- |
AW: Authentication rejected/ Autehnticaion failed
Also das Problem ist nicht Pop before SMTP sonder dein Mailserver (Benutzername und pw) es gibt außerdem ein extra PW für die Mail und je nachdem was für ein Mailserver von TOffline man nimmt gibts andere Usernamen und pw kombos.
Guck mal in Google nach T_online Outlook da gibts schon Hilfe und dann teste das nochmal. |
AW: Authentication rejected/ Autehnticaion failed
Braucht man bei T-Online nicht diese Benutzerkennung? Also diese lange Nummer.
|
AW: Authentication rejected/ Autehnticaion failed
Ich denke mal, am besten wäre es, die Indy-Beispiele zu verwenden und nicht gross da rumzufummeln. 8-) Lediglich Passwort/email-Adresse abzuändern und fertig. Sonst wird das wohl nichts.
|
AW: Authentication rejected/ Autehnticaion failed
Zitat:
Zitat:
![]() so etwas? Muss ich mal daheim rumstöbern, vll find ich die Nummer ja irgendwo :) |
AW: Authentication rejected/ Autehnticaion failed
Delphi-Quellcode:
Wie bereits geschrieben - aber nochmal:
IdMessage1.Sender.Name := 'Mail@t-online.de';
IdMessage1.Sender.Address := 'Mail@t-online.de'; IdMessage1.From.Text := 'Mail@t-online.de'; IdMessage1.Sender.Text := 'Mail@t-online.de'; Wenn Du in Sender.Name und/oder Sender.Address etwas einträgst und anschließend Sender.Text änderst, überschreibst Du .Name und .Adress. Probier mal im OI aus, wie die miteinander "verwoben" sind. Das gilt auch für IdMessage1.From usw. Das ist aber sicher nicht Dein primäres Problem. Deine Anmeldung bei t-online scheint nicht zu klappen, weil die Authentifizierung nicht stattfindet oder abgewiesen wird. Versuch doch erstmal eine Mail an einen anderen Provider zu senden und benutze, wie Hansa schon schrieb, die Indy-Beispiele. Wenn das klappt, suche im Indernet nach Beispielen und Anleitungen für t-online. Die haben ein "spezielles" Verfahren, um Spams abzublocken. Nur Du kennst die Einstellungen deines Accounts. Sinnvoll ist auch, mit dem Debugger im Einzelschritt durchzugehen und zu sehen, was die Indys senden und zurückbekommen. Gruß Gerald |
AW: Authentication rejected/ Autehnticaion failed
Ja, mache das. Und gehe mal im Delphi-Treff gucken nach Tutorials. Die Indy-Beispiele sind aber in höchstens 1-2 Stunden einsatzbereit. Download, installieren, Programm machen mit paar Klicks, email-Adresse anpassen was noch ? Eigentlich nichts. :gruebel:
|
AW: Authentication rejected/ Autehnticaion failed
Genau die meine ich.
|
AW: Authentication rejected/ Autehnticaion failed
Zitat:
|
AW: Authentication rejected/ Autehnticaion failed
Hansa, ich hatte bewusst "speziell" (in Hochkommata) geschrieben,
weil hier doch noch etwas zu beachten ist. Aber wie Du schreibst, steht das ja alles in den Indy-Beispielen. Dann ist ja alles bingo.:thumb: |
AW: Authentication rejected/ Autehnticaion failed
Ja, Bingo. :thumb: Im Prinzip habe ich eigentlich auch nur die Beispiele flexibler gemacht. D.h.: email-Adresse und das was sonst noch gebraucht wird, die sind in INI-Datei verfrachtet worden. Um die auszulesen, tja dann eben noch eine Unit und fertig. Im Prinzip ging das sofort. Inkl. Empfangsprogramm (Gegenstelle soll automatisch was ausdrucken) nicht mehr als 2 St. Aufwand.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz