![]() |
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:
An die OnSessionConnected haben ich folgendes angehangen, um den Zustand zu sehen:
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;
Delphi-Quellcode:
Die Shapes werden grün und die Labels zeigen mir an, dass eine Verbindung zur Mailbox besteht.
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; 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:
Mache ich was falsch? Die Demos waren verständlich, aber nur einzeln zu haben. Entweder pop3 oder smpt, was mir nix nützt.
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; |
Re: Mail senden mit ICS funktioniert nicht
Versuch mal
Delphi-Quellcode:
SmtpCli1.Port := 25;
|
Re: Mail senden mit ICS funktioniert nicht
danke für den tipp. ich habe mal:
Delphi-Quellcode:
probiert, aber auch damit kommt in der mailbox nix an. warum nur??? wenn wenigstens ne fehlermeldung kommen würde...
SmtpCli1.Port := '25';
|
Re: Mail senden mit ICS funktioniert nicht
Ist .Port ein String?
|
Re: Mail senden mit ICS funktioniert nicht
Ja Sir!
|
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; |
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? |
Re: Mail senden mit ICS funktioniert nicht
Zitat:
Zitat:
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: |
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... |
Re: Mail senden mit ICS funktioniert nicht
Zitat:
Mit synapse gäbe es auch noch eine weitere Alternative. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 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