Entwickler-Ecke
Internet / Netzwerk - [Indy10] - Must issue a STARTTLS command first
jo-freaky - Di 03.07.07 21:17
Titel: [Indy10] - Must issue a STARTTLS command first
Hi,
ich habe bereits das Forum durchsucht und immer noch folgendes Problem:
Beim Versuch eine Email zu versenden (via googlemail) bekomme ich die Fehlermeldung
"Exception der Klasse EIdSMTPReplyError .... Meldung: 'Must issue a STARTTLS command first'"
Jetzt habe ich
hier [
http://www.indyproject.org/KB/Downloads%5CIndyKB.pdf] gelesen, dass man irgendwie mit TLS arbeiten muss.
Zitat: "For Indy 10
Indy 10 supports SMTP with explicit TLS. In the Indy 10's TIdSMTP, you simply have to assign a
TIdSSLIOHandlerSocketBase descendent to the TIdSMTP.IOHandler property and set the UseTLS
property to either utUseRequireTLS if you do not want to use an unencrypted connection or
utUseExplicitTLS if you are willing to use an unencrypted connection."
Leider sind meine bisherigen Versuche gescheitert das umzusetzen, weil ich keine Ahnung habe wie das gemacht werden muss.
Das hier ist mein bisheriger Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| IdSmtp.Host := 'smtp.googlemail.com'; IdSmtp.Port := 25;
IdSmtp.Username := 'meinemailaddy'; IdSmtp.Password := 'meinpw'; try IdSmtp.Connect; IdSmtp.Send(IdMessage); finally IdSmtp.Disconnect; end; |
Ich hoffe ihr könnt / wollt mir helfen.
Vielen Danke im Voraus!
Moderiert von
Christian S.: Code- durch Delphi-Tags ersetzt
rolandt4088 - Do 05.07.07 15:29
Hallo,
ich habe es damit gelöst, dass ich mich vorher über pop3 einlogge.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| Procedure Tf_bestellung.BesttigungviaEMail1Click(Sender: TObject); begin idpop3.Host := Query3.fieldbyname('pop3_server').AsString; idpop3.Username := Query3.fieldbyname('benutzer').AsString; idpop3.Password := Query3.fieldbyname('passwort').AsString; idpop3.Connect(-1); IDSMTP.Host := Query3.fieldbyname('smtp_server').AsString; IDSMTP.Username := Query3.fieldbyname('benutzer').AsString; IDSMTP.Password := Query3.fieldbyname('passwort').AsString; IDSMTP.Port := 25; idMessage.Subject:= subjekt_text; IdSMTP.Connect; try IdSMTP.Send(IdMessage); finally idsmtp.Disconnect; idpop3.Disconnect; end; end; |
Probiers mal. Wenn nicht melde Dich wieder.
Gruß
Roland
jo-freaky - Mi 25.07.07 22:03
Vorab erst einmal Sorry, dass ich mich jetzt erst wieder melde.
@Rolandt4088
Ich habe es genauso gemacht wie du, allerdings mit weniger Erfolg.
Jetzt kommt immer die Fehlermeldung:
"Conntecion Closed Gracefully"
Weisst du rat?
Dank im Vorraus!
rolandt4088 - Sa 28.07.07 00:50
Hallo
es wird Dir mitgeteilt, dass die Verbindung geschlossen ist.
Ich vermute, dass Du keine Verbindung hattest.
Der Profi dadrin bin ich auch nicht. Poste doch noch mal den Quelltext den Du jetzt hast, dann kann ich ich es mit meinen Benutzerdaten probieren.
Gruß
Roland
BenBE - Sa 28.07.07 10:30
Führe einfach mal Schrittweise aus, was Du oben Zitiert hast:
Setze eine entsprechende Komponente (TidSSLIOHandlerBlaBla auf das Form und setze die erwähnten Eigenschaften.
Die Ursprügliche Meldung besagt nämlich, dass eine TLS (oder SSL)-Verbindung erwartet wird, aber keine Verschlüsslung (SSL\TLS) initialisiert wurde.
Wer Lesen kann, ist klar im Vorteil ...
jo-freaky - Sa 28.07.07 16:49
@roland:
Ich habe genau deinen Quelltext genommen und meine Verbindungsdaten verwendet.
@BenBE:
Ich habe Schrittweise getan, was ich in meinem ersten Post zitiert hatte:
Fehlermeldung: Could not load SSL Library
Irgendwie komme ich kein bisschen weiter.
Danke für eure Bemühungen.
rolandt4088 - So 29.07.07 23:04
Hallo,
ich weiß jetzt gar nicht ob Du gestern meine Hilfe bekommen hast. Ich finde sie nicht.
Hier noch einmal die Lösung.
Du mußt allerdings noch die DLL-Dateien für Indy herunterladen und in ein Dein Projektverzeichnis kopieren.
Link zu den DLL-Dateien:
http://www.freudundfreunde.de/download/indy/indy_openssl096g.zip
Hier der fertige Quellcode. Im Quellcode stehen noch wichtige Informationen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34:
| procedure TForm1.BitBtn1Click(Sender: TObject); begin IdSmtp1.Host := 'smtp.googlemail.com'; IdSmtp1.Username := 'dein benutzername@googlemail.com'; IdSmtp1.Password := '*****'; idMessage1.Subject:= Edit3.text; idMessage1.Recipients.EMailAddresses := edit1.text; idMessage1.Sender.text:= edit2.Text; idMessage1.Body.Add(Edit3.Text); try IdSmtp1.Connect; IdSmtp1.Send(IdMessage1); finally IdSmtp1.Disconnect; end;
end; |
Viel Spaß
Roland
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!