Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Problem mit Indy SMTP (https://www.delphipraxis.net/59973-problem-mit-indy-smtp.html)

Chrissi91 31. Dez 2005 18:41


Problem mit Indy SMTP
 
Liste der Anhänge anzeigen (Anzahl: 2)
:hello: Hi :hi:,

ich habe mit den Indys einen Newslettersender geschrieben, jedoch gibt er beim Senden einen Fehler aus (s. Anhang.). Code habe ich auch angehängt. Ich sitze an dem Problem schon sehr lange. Was mache ich falsch?

Danke schon im Vorraus und euch allen schon ein gutes, gesunden, neues Jahr 2006 :party:

3_of_8 31. Dez 2005 18:54

Re: Problem mit Indy SMTP
 
Spontan würde ich sagen, der Server gibt keine Antwort oder irgendeine Fehlermeldung oder eine falsche Antwort. Worans liegt: KA

sakura 1. Jan 2006 13:37

Re: Problem mit Indy SMTP
 
@Chrissi: spare Dir in Zukunft solche Äusserungen, das führt nur zu Problem :warn: Alles rumgemeckere entfernt-

...:cat:...

Chrissi91 6. Jan 2006 18:54

Re: Problem mit Indy SMTP
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe den Code mal formatiert :lol: (ihr dürft staunen. :stupid: :shock: )

Das ganze auch im Anhang.

Delphi-Quellcode:
procedure Tfrmmain.btnSendClick(Sender: TObject);
var
 i: integer;
begin
 SMTP.Host:=editHost.Text;
 SMTP.Username:=EditUser.Text;
 SMTP.Password:=EditPasswort.Text;
 btnSend.Enabled:=False;
 try
  with email do
   begin
    Clear;
    From.Text:=Trim(edtFrom.Text);
    Subject:=Trim(edtSubject.Text);
    Body.Assign(memText.Lines);
   end;
 SMTP.Host:=editHost.Text;
 SMTP.Username:=EditUser.Text;
 SMTP.Password:=EditPasswort.Text;
 email.Recipients.add.Address:=trim('mail@domain.de');
  for i:= 0 to ltbEmailAdress.count-1 do
   begin
    email.recipients.add.Address:=trim(ltbEmailAdress.items[i]);
   end;
   with smtp do
    begin
     Disconnect;
     Connect;
     try
      Send(email);
     finally
      showmessage('Email angekommen');
     end;
    end;
   except
    showmessage('Email nicht angekommen');
  end;
 btnSend.Enabled:=True;
end;

easywk 7. Jan 2006 14:55

Re: Problem mit Indy SMTP
 
Hi. Bei den Indy-Komponenten ist bekannt, dass sie auch dann Exceptions auslösen, wenn etwas gut gegangen ist - zumindest in bestimmten Fällen. Außerdem meine ich, dass in deinem Code-Beispiel die except / finally-Anweisungen nicht in der richtigen Reihenfolge sind. Hier kommt der Code-Teil, wie ich es mache - und damit gibt es keine Probleme:
Delphi-Quellcode:
  // Verbinden
  try SMTP.Connect;
  except on E: Exception do
    begin
      MessageDlg(E.Message, mtError,[mbOk], E.HelpContext);
      Exit;
    end;
  end;
  // Senden
  try
    try SMTP.Send(IdMsgSend);
    except on E:Exception do
      begin
        MessageDlg(E.Message, mtError,[mbOk], E.HelpContext);
      end;
    end;
  finally
    SMTP.Disconnect;
  end;
cu
easywk


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:09 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