Entwickler-Ecke
Internet / Netzwerk - Ein SMTP Server
Nuker - Mi 30.07.03 08:05
Titel: Ein SMTP Server
Hi Leute !!!!!!!
Ich hab folgendes Problem. Ich hab mir einen SMTP Server programmiert mit Hilfe der Indy 9 Componenten. Soweit so gut. Alles funktioniert, an Adressen die auf diesem Server gespeichert sind kann man Problemlos schreiben und über POP3 wieder abrufen...
Will man aber über ein solches EMail Konto eine EMail an jemand anderen ausserhalb des LAN schicken, so hab ich keine Ahnung wie ich das machen soll ... an welchen SMTP Server muss ich das schicken ??? Wie kann ich das rausfinden ???
Bitte helft mir !!!!
MSCH - Mi 30.07.03 18:04
na an den, dessen Mail Adresse angeben wurde.
hugo@blablabla.com Diesen Server musst du connection und via smtp die Nachricht überstellen.
vorsicht wenn du relays benutzt. Dann einfach alles an den Relay senden.
grez
msch
Nuker - Do 31.07.03 07:46
Titel: Hmm...
Hmm..
Und den gewünschten Server finde ich mit einem DNS Lookup heraus, oder ??
Cyrus - Do 31.07.03 09:07
die Ip des Servers kannst du mit dieser funktion rausfinden:
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: 31: 32: 33: 34: 35: 36:
| function HostToIP(Host:string): String; //uses winsock type TaPInAddr = array[0..10] of PInAddr; PaPInAddr = ^TaPInAddr; var list:Tstrings; phe: PHostEnt; pptr: PaPInAddr; I: Integer; GInitData: TWSAData; Phostname:array[0..255]of char; begin Phostname:=''; for i:=0 to length(Host)-1 do begin Phostname[i]:= Host[i+1]; end; WSAStartup($101, GInitData); list := TstringList.Create; list.Clear; phe := gethostbyname(Phostname); if phe = nil then Exit; pPtr := PaPInAddr(phe^.h_addr_list); i := 0; while pPtr^[i] <> nil do begin list.Add(inet_ntoa(pptr^[i]^)); Inc(I); end; WSACleanup; result:=''; for i:=0 to list.Count-1 do begin result:=result+list.Strings[i]; end; end; |
Greetz Cyrus
matze - Do 31.07.03 11:53
oder du pingst den server, dann kann man sich auch die IP zurückgeben lassen.
Cyrus - Do 31.07.03 12:06
ICMP ECHO (Ping) kann von einigen Servern auch geblockt werden daher ist dns besser. DNS gibt die IP auch zurück wenn der Server down is da die meissten noch einen secondary dns am laufen haben!
greetz Cyrus
Nuker - Do 31.07.03 12:50
Hmm... Nur welchen DNS Server soll ich nehmen ?? Da hat ja jeder seinen eigenen ...
Und immer funktioniert es auch nicht ... ich hab zum Beispiel einen DNS Server der Telecom verwendet und versucht den E-Mail Server von 'mhplus.de' rauszufinden ... und zurück kam nichts ...
Cyrus - Do 31.07.03 13:11
ich würde einfach immer das nach dem @ in mein funktion eingeben dann kriegst du immer die ip des servers (manchmal musst du auch einwenig warten 3-4 sek aber ein resultat sollte es immer geben
Greetz Cyrus
matze - Do 31.07.03 15:29
ja DNS ist wirklich schwierig.
aber arbeitet dein code nicht auch auf DNS basis ? oder wie löst der das auf ?
Cyrus - Do 31.07.03 15:34
mit der funktin gethostbyname aus winsock (weiss nicht genau wie die funktion arbeitet) aber ich glaube die sucht in vielen dns bis sie den eintrag gfunden hat
Greetz Cyrus
Nuker - Do 31.07.03 15:46
Ich nehme als Ausganspunkt auch immer die Adresse nach dem @, so wie zum Beispiel 'mhplus.de'.
Die IP bekomm ich auch, das ist kein Problem, nur die IP alleine Hilft mir nicht. Ich brauch dazu den DNS Server der die dazugehörigen Daten liefert, und das ist in 99% aller Fälle nicht die Adresse hinter dem @.
Die meisten haben die Ports für die DNS Anfragen gesperrt und nur einen Zentralen DNS Server... oder auch garkeinen ... also woher nehmen und nicht stehlen :-)...
MSCH - Do 31.07.03 17:27
du musst den MX Record abfragen und der hinter dem @ liefert dir garantiert einen, sofern er einem SMTP hat. Ansonsten kommen dort ja nie mails an !.
die Kompos von fpipette konnen sowas, auch die indy und die Fastnet.
grez
msch
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!