Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Mail senden mit ICS funktioniert nicht (https://www.delphipraxis.net/82011-mail-senden-mit-ics-funktioniert-nicht.html)

torud 6. Dez 2006 16:00


Mail senden mit ICS funktioniert nicht
 
Hallo Wissende,

im Forum hier gab es leider keinen Thread zu diesem Thema, aber ich habe heute mal versucht aus den Demos die der ICS-Komponente beiliegen ein Programm zu entwickeln, mit ich ganz einfach über meinen Account Mails mit Anhängen verschicken kann.

Da ich bei Strato gehostet bin, muss ich vor dem Versenden mit SMPT mich bei meinem POP3-Konto anmelden. Das habe ich berücksichtig und getan. Die Komponenten melden sich einwandfrei an und sind connected. Wenn ich aber dann per Mail ne Mail versenden will, passiert rein gar nix. Keine Fehlermeldung und auch keine Mail wird verschickt.

Folgendes mache ich im OnShow:
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
    try
      Pop3Cli1.Connect;
    Except
      ShowMessage('Keine POP3-Verbindung!');
    end;

    try
      SmtpCli1.Connect;
    Except
      ShowMessage('Keine SMTP-Verbindung!');
    end;
    PageControl1.ActivePageIndex:=0;
end;
An die OnSessionConnected haben ich folgendes angehangen, um den Zustand zu sehen:
Delphi-Quellcode:
procedure TForm1.Pop3Cli1SessionConnected(Sender: TObject; Error: Word);
begin
    {zeige netzstatus an}
      if Pop3Cli1.Connected then
        begin
          shp_pop.Brush.Color:=clLime;
          lbl_pop.caption:='Verbindung zur Pop3-Mailbox hergestellt!';
        end
      else
        begin
          shp_pop.Brush.Color:=clRed;
          lbl_pop.Caption:='Keine Pop3-Verbindung zur Mailbox!';
        end;
end;

procedure TForm1.SmtpCli1SessionConnected(Sender: TObject; Error: Word);
begin
    {zeige netzstatus an}
      if SmtpCli1.Connected then
        begin
          shp_net.Brush.Color:=clLime;
          lbl_net.caption:='SMTP-Verbindung zur Mailbox hergestellt!';
        end
      else
        begin
          shp_net.Brush.Color:=clRed;
          lbl_net.Caption:='Keine SMTP-Verbindung zur Mailbox!';
        end;
end;
Die Shapes werden grün und die Labels zeigen mir an, dass eine Verbindung zur Mailbox besteht.
Folgendes habe ich an einen Button angehangen, um eine Mail zu versenden. Leider passiert nix. Hat jemand einen Tipp, warum das so ist??? Ist schade, dass die Prozedur mail nicht eine Funktion mit nem boolschen Rückgabewert ist.
Delphi-Quellcode:
    BuildRcptList;
    SmtpCli1.HdrFrom        := ed_from_mail.Text;
    SmtpCli1.HdrTo          := ed_email.Text;
    SmtpCli1.HdrTo          := ed_from_mail.Text;
    SmtpCli1.HdrSubject     := 'Lizenz-ID für das Programm: '+cmb_programs.Text;
    SmtpCli1.SignOn         := ed_from_name.Text;
    SmtpCli1.FromName       := ed_from_mail.Text;
    //SmtpCli1.EmailFiles     := FileAttachMemo.Lines;
    SmtpCli1.Host           := ed_host.Text;
    SmtpCli1.Port           := 'smtp';
    SmtpCli1.Mail;
    exit;
Mache ich was falsch? Die Demos waren verständlich, aber nur einzeln zu haben. Entweder pop3 oder smpt, was mir nix nützt.

mkinzler 6. Dez 2006 16:15

Re: Mail senden mit ICS funktioniert nicht
 
Versuch mal
Delphi-Quellcode:
SmtpCli1.Port           := 25;

torud 6. Dez 2006 17:23

Re: Mail senden mit ICS funktioniert nicht
 
danke für den tipp. ich habe mal:

Delphi-Quellcode:
SmtpCli1.Port := '25';
probiert, aber auch damit kommt in der mailbox nix an. warum nur??? wenn wenigstens ne fehlermeldung kommen würde...

mkinzler 6. Dez 2006 17:54

Re: Mail senden mit ICS funktioniert nicht
 
Ist .Port ein String?

torud 6. Dez 2006 18:49

Re: Mail senden mit ICS funktioniert nicht
 
Ja Sir!

Mumpe 6. Dez 2006 20:26

Re: Mail senden mit ICS funktioniert nicht
 
Hast Du einen Portblocker, Virenscanner o.ä. laufen, der u.U. verhindert, dass Dein Programm den Port 25 benutzen darf?


Du könntest auch versuchen, das Verschicken der Mail im OnRequestDone erledigen zu lassen, z.B.

Delphi-Quellcode:
procedure TForm1.SmtpCli1RequestDone(Sender: TObject; RqType: TSmtpRequest; Error: Word);
begin
     if RqType=smtpConnect then SmtpCli1.Helo;
     if RqType=smtpOpen then SmtpCli1.Helo;
     if RqType=smtpHelo then begin
        {Mail zusammenbauen}
        SmtpCli1.Mail;
     end;
     if RqType=smtpMail then SmtpCli1.Quit;
     if RqType=smtpQuit then
        // Fertig...
        if POP3Cli1.Connected then POP3Cli1.DisConnect;
end;

torud 6. Dez 2006 20:54

Re: Mail senden mit ICS funktioniert nicht
 
Also bei mir läuft lokal nur Antivir. Ich galube eigentlich nicht, dass der das Senden über den Port verhindert.

Ich werde mal Deinen Code ausprobieren. Mal sehen ob es was bringt. Aber eigentlich ist es doch nicht wirklich anderer Code, nur das er an einem anderen Punkt ausgeführt wird. Oder?

Mumpe 6. Dez 2006 20:59

Re: Mail senden mit ICS funktioniert nicht
 
Zitat:

Zitat von torud
Also bei mir läuft lokal nur Antivir. Ich galube eigentlich nicht, dass der das Senden über den Port verhindert.

Das glaube ich auch nicht. McAfee z.B. blockt den Port.

Zitat:

Zitat von torud
Ich werde mal Deinen Code ausprobieren. Mal sehen ob es was bringt. Aber eigentlich ist es doch nicht wirklich anderer Code, nur das er an einem anderen Punkt ausgeführt wird. Oder?

Ich bin nicht ganz sicher, ob der Stratomailserver das "HELO" verlangt.
Du könntest Dir auch im OnResponse die Antworten des Mailservers in z.B. eine Listbox ausgeben lassen, vielleicht geht daraus hervor, ob der Mailserver Deine Anfrage ablehnt, o.ä.

Aber an sich müsste jeder "Fehler" in einer Exception enden. :roll:

torud 6. Dez 2006 21:36

Re: Mail senden mit ICS funktioniert nicht
 
So sehe ich das auch.

Das merkwürdige ist, dass es früher mit der Indy-Komponente auch so ging. Ich habe zuerst mit der POP-Kompo angemeldet und dann mit der SMPT-Komponente. Damit gab es nie Probleme. Das Dumme ist nur, dass diese Komponente seit einem Updateversuch nur noch Fehlermeldungen auswirft, was eine Weiterverwendung leider ausschliesst.

Ich schaue mal, ob mich Eure Vorschläge weiterbringen, bin aber eher pessimistisch...

mkinzler 6. Dez 2006 21:57

Re: Mail senden mit ICS funktioniert nicht
 
Zitat:

Das Dumme ist nur, dass diese Komponente seit einem Updateversuch nur noch Fehlermeldungen auswirft, was eine Weiterverwendung leider ausschliesst.
Sollte eigentlich nicht sein. Welche Fehlermeldungen spukt er aus?
Mit synapse gäbe es auch noch eine weitere Alternative.


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