Entwickler-Ecke

Internet / Netzwerk - Socket Fehler 11004 bei E-Mail versenden


rolandt4088 - So 01.07.07 00:03
Titel: Socket Fehler 11004 bei E-Mail versenden
Hallo,
ich habe folgend Code geschrieben:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
 if m_auswahl = 'Interner E-Mail-Versandt' then
  begin
    //Verbindungsinfos aus Optionen herauslesen
    Query3.Close;
    Query3.SQL.Clear;
    Query3.SQL.Add('select smtp_server, benutzer, passwort, absender from optionen');
    Query3.Open;

    IDSMTP.Host := Query3.fieldbyname('smtp_server').AsString;
    IDSMTP.Username := Query3.fieldbyname('benutzer').AsString;
    IDSMTP.Password := Query3.fieldbyname('passwort').AsString;
    IDSMTP.Port := 25;


    idMessage.Subject:= 'Ihre Bestellung vom '+e_bestelldatum.Text +
                        '; Bestellnummer: ' + e_bestellnummer.Text ;
    idMessage.From.text  := Query3.fieldbyname('absender').AsString;
    idMessage.ReplyTo.EMailAddresses := Query3.fieldbyname('benutzer').AsString;
    idMessage.Recipients.EMailAddresses := e_email.Text;//Wem soll ich die Msg senden?
    idMessage.Sender.text:= Query3.fieldbyname('absender').AsString;
    idMessage.Body.Text := 'Bestellbestätigung';

   IdSMTP.Connect;//Stelle Verbindung her
   try
      IdSMTP.Send(IdMessage);//Versuche die Nachrich zu senden
   finally
      IdSMTP.Disconnect;//Wenn du es geschafft hast, dann trenne die Verbindung
   end;

  end;


Starte ich die Prozedur kommt folgende Meldung:

Socket Fehler 11004

Was mache ich falsch.
Ich setze INDY zum ersten mal ein und habe keine Erfahrung damit.

Gruß
Roland


rolandt4088 - So 01.07.07 00:15

Das Problem habe ich jetzt erst mal gelöst.
Dafür habe ich ein neues.

Meldung: That domain isn't in my list of allowed rcpthosts

Wie kann ich denn meinen Host hinzufügen?


rolandt4088 - So 01.07.07 00:39

Das Problem ist gelöst.

Lösung:

Erst POP3 dann SMTP


JayEff - So 01.07.07 02:55
Titel: Re: Socket Fehler 11004 bei E-Mail versenden
user profile iconrolandt4088 hat folgendes geschrieben:
IdSMTP.Connect;//Stelle Verbindung her
try
IdSMTP.Send(IdMessage);//Versuche die Nachrich zu senden
finally
IdSMTP.Disconnect;//Wenn du es geschafft hast, dann trenne die Verbindung
end;[/delphi]

Kleine Richtigstellung bei deinem letzten Kommentar: "Wenn du es geschafft hast" klingt für mich wie "Nur, falls du es schaffst, trenne die Verbindung" wobei das finally genau das Gegenteil bedeutet: "Ob du's schaffst oder nicht, hauptsache die Verbindung wird getrennt".
Nur, falls das nicht Zufall ist und du das tatsächlich falsch verstanden hast ;)


rolandt4088 - So 01.07.07 10:50

War wohl ein bischen falsch ausgedrückt.