Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi SMTP Server weiterleitung (https://www.delphipraxis.net/98228-smtp-server-weiterleitung.html)

nitschchedu 23. Aug 2007 15:27


SMTP Server weiterleitung
 
Hallo leute ^^,
ich habe einen SMTP server gebaut, die wenn er E-Mails bekommt soll diese weiter reichen, dazu habe ich noch einen Smtp Client integriert. Jetzt müssen SMTP Server untereinander die Mails zustellen. Wenn mein Server jetzt eine Email an Web.de weiter reichen soll geht das nicht .... muss ich da nochwas beachten ?

Bernhard Geyer 23. Aug 2007 15:34

Re: SMTP Server weiterleitung
 
Wie wäre es mit einer Fehlermeldung?

Wie leitest du weiter? Mit dem Protokoll das E-Mail-Server untereinander fahren?
Bedenke dabei das hier aufgrund von Virenattacken die entsprechenden Ports bei Wähl/DSL-Verbindungen des öfteren gesperrt sind.

nitschchedu 23. Aug 2007 15:46

Re: SMTP Server weiterleitung
 
Zitat:

Mit dem Protokoll das E-Mail-Server untereinander fahren?
Jo genau das will ich mal wiessen wie das geht ! Im internet habe ich nur ein begriff gefunden "mta" aber der steht nur das die Server untereinader sich die E-Mails weiter leiten. Aber genau wie die das machen steht nicht da :( .


Zitat:

Wie wäre es mit einer Fehlermeldung?
Ähhh zum Fehler kommt nur Connect und Disconnect . Ich benutze dazu die Componenten IdSMTPClient und IdSMTPServer (Indy 10).

mkinzler 23. Aug 2007 15:59

Re: SMTP Server weiterleitung
 
Der Transport funktioniert natürlich per SMTP (Simple Mail Transfer Protocol)
Was für ein Fehler kommt?
Wird Helo ehlo verwendet?
Viele Mailserver lehnen auch Verbindungen zu Einwahladressen ab oder machen nen Reverslookup.
wird SMTP-Auth verwendet? Oder TLS?

nitschchedu 23. Aug 2007 16:29

Re: SMTP Server weiterleitung
 
Es würd die Standart einstellung von der Indy Komponente benutzt (IdSMTPClient). Der Fehler ist das der Server einfach wieder Trennt. Erkläre mir mal Reverslookup genau.

mkinzler 23. Aug 2007 16:31

Re: SMTP Server weiterleitung
 
Der Server macht eine DNS-Abfrage auf die Domäne des Absenders und vergleicht und vergleichst sie mit der Adresse des Clients.

nitschchedu 23. Aug 2007 16:41

Re: SMTP Server weiterleitung
 
Das bedeutet jetzt wenn ich was an Web.de weiter geben will fragt er erstmal per DNS ab und vergleicht die IP, sollte die IPs nicht gleich sein muss ich entweder per SMTP-Auth anmelden oder er Disconnecten ? Wenn ja, könnte das es erklären warum es nicht geht :)

mkinzler 23. Aug 2007 16:45

Re: SMTP Server weiterleitung
 
wenn du mit versuchst eine Nachricht von Bill.gates@microsoft.com an BigBoss@web.de zu schicken, überprüft der Server u.U. ob deine Client-IP mit der des MS-Mailservers übereinstimmt, was wohl nicht der Fall sein wird.
Das mit SMTP-Auth ist eine weitere Möglichkeit, welche zusätzlich oder alternativ eigesetzt wird.

nitschchedu 23. Aug 2007 17:02

Re: SMTP Server weiterleitung
 
Da ich so ein verfahren auch gut gebrauchen kann ... schau mal ob das so ok ist bei meinen Programm bleibt er in der Funktion sthen :gruebel: vieleicht ist die WaitTime zugroß (irgentwo habe ich mal gelesen das man da 3 Sec macht).

Delphi-Quellcode:
function TForm1.CheckOfMailServer(DNSServer, Adresse,
  MailIPAdress: String): Boolean;
var
   idDNSResolver: TIdDNSResolver;
  i: Integer;
  a: TARecord;
begin
   Result := False;
   idDNSResolver := TIdDNSResolver.Create(self);

  try
     idDNSResolver.QueryResult.Clear;
     idDNSResolver.Host := DNSServer;
     idDNSResolver.QueryType := [qtA];

    try
        idDNSResolver.Resolve(Adresse);
      except
         idDNSResolver.QueryResult.Clear;
     end;

     if idDNSResolver.QueryResult.Count <> 0 then
     begin
        for i := 0 to Pred(idDNSResolver.QueryResult.Count) do
       begin
          if idDNSResolver.QueryResult.Items[i] is TARecord then
         begin
            a := (idDNSResolver.QueryResult.Items[i] as TARecord);

          if a.IPAddress = MailIPAdress then
          begin
             Result := True;
            idDNSResolver.Free;
            Exit;
          end;
         end;
       end;
     end;

  finally
     idDNSResolver.Free;
  end;
end;

Remko 23. Aug 2007 22:35

Re: SMTP Server weiterleitung
 
Looks like you're resolving an A-Record, idSMTP can do this for you automatically.
You do need to resolve the MX (Mail eXchanger) record.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz