Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Angaben zu SMTP-Server testen (https://www.delphipraxis.net/204088-angaben-zu-smtp-server-testen.html)

Rued 22. Apr 2020 11:37


Angaben zu SMTP-Server testen
 
Hallo!

Aus meiner Anwendung sollen E-Mails verschickt werden können. Ich nutze dafür die INDY-Komponenten IdSMTP und IdMessage. Der Anwender muss also Angaben zu Host, Password und Username machen. Wie kann ich ihn seine Angaben - wie z. B. in Outlook möglich - testen lassen?

Gruß
Rüd

scrat1979 22. Apr 2020 11:40

AW: Angaben zu SMPT-Server testen
 
Zitat:

Zitat von Rued (Beitrag 1462670)
Hallo!

Aus meiner Anwendung sollen E-Mail verschickt werden können. Ich nutze dafür die INDY-Komponenten IdSMPT und IdMessage. Der Anwender muss also Angaben zu Host, Password und Username machen. Wie kann ich ihn seine Angaben - wie z. B. in Outlook möglich - testen lassen?

Gruß
Rüd

Schau mal ob die Komponente eine Exception wirft wenn eine Mail nicht verschickt werden konnte oder wenn der Login nicht erfolgreich war. Dann könntest das in einem try..except-Block packen. So mache ich das mit einer SFTP-Verbindung.

DieDolly 22. Apr 2020 11:48

AW: Angaben zu SMPT-Server testen
 
Wenn beim Connect; oder Send() irgendwas nicht klappt, gehts in eine Exception. Setz einfach ein try-except drum. Wenn False zurückkommt, ist irgendwas falsch.

Delphi-Quellcode:
function ... : Boolean;
begin
  Result := False;
 
  .....

  try
   Smtp.Connect;

   if Smtp.Connected then
    begin
     try
      Smtp.Send(Msg);
      Result := True;
     finally
      Smtp.Disconnect;
     end;
    end;
  except
   Result := False;
  end;

Rued 22. Apr 2020 12:38

AW: Angaben zu SMTP-Server testen
 
@ scrat1979, DieDolly
Auf ein Test-Senden hoffte ich verzichten zu können. Lässt sich der SMTP-Server nicht anpingen und ich verwerte die Antwort?

Gruß
Rüd

Der schöne Günther 22. Apr 2020 12:46

AW: Angaben zu SMTP-Server testen
 
Das ist wie ein Drive-In und du willst erstmal nur testen ob das Gebäude da steht und dich jemand hindert, die ersten 20 cm auf das Grundstück zu fahren. Danach (und mittendrin) kann immer noch eine Menge schief gehen.

Das nur als Hinweis wie sinnvoll das Vorhaben mMn wirklich ist.

Tatsächlich ist SMTP aber ein reines Text-Protokoll. Du kannst mittels Indy-Telnet-Komponenten aber damit sprechen und Befehle wie HELP oder HELO wären vielleicht ganz interessant. Hatte ich tatsächlich mal irgendwo drin, aber nur zum Spaß. In der tatsächlichen Anwendung war es dann wie alle anderen bislang auch gesagt haben: Kram verschicken und wenn eine Exception auftritt das einfach dem Benutzer mitteilen.

Sherlock 22. Apr 2020 12:51

AW: Angaben zu SMTP-Server testen
 
Outlook schickt doch auch eine Test-Mail. Warum willst Du besser sein?

Sherlock

Rued 22. Apr 2020 13:01

AW: Angaben zu SMTP-Server testen
 
Die Vergleiche vom Schönen Günther und Sherlock haben mich überzeugt, obwohl ich mich einerseits mit Drive-Ins nicht auskenne und es anderseits doch `mal ein Ziel wäre, besser zu proggen als Microsoft. :wink:

Im Ernst, ich danke Euch - mache es wie Outlook.

Gruß
Rüd

EvoOlli 22. Apr 2020 13:07

AW: Angaben zu SMTP-Server testen
 
Mist geschrieben, ich hatte auf die m.M.n. fehlende Verschlüsselung der TidSMTP Komponente hingewiesen....aber die gibt es ja doch....

Grüße
Oliver

Rued 22. Apr 2020 13:29

AW: Angaben zu SMTP-Server testen
 
Zitat:

Zitat von EvoOlli (Beitrag 1462691)
Mist geschrieben, ich hatte auf die m.M.n. fehlende Verschlüsselung der TidSMTP Komponente hingewiesen....aber die gibt es ja doch....

Grüße
Oliver

Sie ist auch schon eingebaut...

Redeemer 22. Apr 2020 16:12

AW: Angaben zu SMTP-Server testen
 
SMTP kennt keine Benutzernamen und Passwort. Somit kann man die auch nicht testen.

Für die Authentifizierung muss gibt es verschiedene Verfahren, die man mit SMTP kombinieren kann. Es hängt stark vom Verfahren ab, wie das abläuft (z.B. SASLNTLM in einer Windows-Domäne mit Exchange), am Ende steht aber ein
Delphi-Quellcode:
IdSMTP.Authenticate();
. Das kann man auch ohne Versand testen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:05 Uhr.
Seite 1 von 2  1 2      

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