Einzelnen Beitrag anzeigen

josefkoller

Registriert seit: 22. Okt 2012
49 Beiträge
 
#3

AW: IdSMTP und bcc Fehler

  Alt 23. Feb 2013, 21:17
Hallo,

vielen Dank für die Antwort.

Zugriff auf den Mailserver??? Was meinst du damit?

Ich benutze den Mailserver meines Hosters. Da was zu manipulieren wird nicht gehen.

Und ich hab den ganzen Nachmittag mit Googlen verbracht.

So wie es ausschaut, funktioniert das mit meiner INDY Version nicht (INDY 9).

In INDY 10 gibt es ein entsprechendes Event beim Versand. In diesem Event kann man den "Fehler" dann abfangen und reagieren, also abbrechen oder weitermachen, usw.

Ich häng immer noch an meinen Delphi Versionen 6 und 7. Ich hab zwar mal versucht Indy 10 zu intallieren, aber es hagelte nichts als Fehlermeldungen. Ich bleib deswegen bei INDY 9.


Mein Problem hab ich jetzt dadurch gelöst, daß ich keine bcc Liste fülle, sondern an alle Empfänger in meiner Liste mittels einer Schleife eine normale EMails schicke.

Die Exception ist in der while Schleife und bei Fehlern wird die Liste weiter abgearbeitet. Evtl. Fehler sehe ich dann in meinem EMailpostfach oder in einem Memofeld und kann die Adressen korrigieren oder aus der Liste streichen.

Ist zwar etwas umständlich aber was soll's.

Hier noch meine Prozedur:

Delphi-Quellcode:
      fDMIMKER.ZQAdressenmailbcc.First;
      while not fDMIMKER.ZQAdressenmailbcc.Eof do
      begin
        try
          IdMessage1.ContentType := 'text/html';
          IdSMTP1.AuthenticationType := atlogin;
          IdMessage1.Body := sdbMemo1.Lines;
          IdMessage1.From.Text :=
            fDMIMKER.ZQMailverbindungMAILMAILADRESSE.AsString;
          IdMessage1.From.Address :=
            fdmimker.ZQMailverbindungMAILMAILADRESSE.AsString;
          IdMessage1.subject := sdbedit1.text;
          IdMessage1.Recipients.EMailAddresses :=
            fDMIMKER.ZQAdressenmailbccADRMAILBCCEMPFAENGER.AsString;
          IdMessage1.Priority := mpNormal;
          Application.ProcessMessages;
          IdSMTP1.Username :=
            fDMIMKER.ZQMailverbindungMAILMAILADRESSE.AsString;
          IdSMTP1.Password := fdmimker.ZQMailverbindungMAILPASSWORT.AsString;
          IdSMTP1.Host :=
            fdmimker.ZQMailverbindungMAILAUSGANGSSERVER.AsString;

          IdSMTP1.Connect;
          Application.ProcessMessages;
          IdSMTP1.Send(IdMessage1);
          Application.ProcessMessages;
        except
          on E: Exception do
          begin
           sMemo1.Text:= sMemo1.Text + 'Fehler bei EMailadresse:
'+fdmimker.ZQAdressenmailbccADRMAILBCCEMPFAENGER.AsString+#10#13+e.Message+#10#13;
          end;
        end;
        fDMIMKER.ZQAdressenmailbcc.Next;
        IdSMTP1.Disconnect;
      end;
Ciao

Josef
  Mit Zitat antworten Zitat