Archiv verlassen und diese Seite im Standarddesign anzeigen : HELO,MAIL FROM,RCPT TO,DATA,QUIT - Was dann?!?
Firefall
25.02.2006, 13:20
Hi! Was genau macht ein SMTP Server wenn er erstmal einen "Request" zum senden eines Mails bekommen hat?!? Also Beispiel: Ich connecte zu mail.microsoft.com, sage Hallo, gebe Absender und Empfänger an und die Mail selbst und dann verabschide ich mich. Für mich ist die Arbeit so weit getan. Aber was macht nun mail.microsoft.com damit ich meine Mail dann später von einem POP3 Server abrufen kann?!? Und bitte nicht antworten mail.microsoft.com connectet zu dem POP3 und gibt ihm die Mail, irgendwie so wirds ja wohl laufen aber ich benötige Informationen wie das genau geht, also Protocol o.ä.
Hi,
wenn eine Verbindung aufgebaut wird, wird bei einzelnen Eingaben überprüft ob die Eingabe zulässig ist.
Z.B. Darf der Sender diesen Server als Relay verwenden? Ist Absender und Empfänger gültig/erlaubt etc.
Kommt auf die Konfiguration und den verwendeten Server an.
Jetzt gibt es zwei Möglichkeiten:
der Server stellt Mails für den Empfänger-Addi zu
oder er macht es nicht
Weiterversenden funktioniert wie vom Email-Client zum Server.
Ist der Ziel-Server nicht erreichbar, kann es der Sender-Server auch einfach
später nochmal versuchen.
Wenn er die Mail behält, wird sie gespeichert.
Der nächste Step ist dann auch schon POP oder IMAP.
Wenn du noch weitere Details brauchst, fragst du am besten unser Freund Google.
Z.B. nach Postfix (SMTP), CYRUS (IMAP) oder QPOPPER (POP3).
In Klammern stehen die verwendeten Protokolle der Dienste.
Zu den Themen gibt es haufenweise Lektüre.
Firefall
25.02.2006, 22:07
Das ist genau die Art Antwort die ich nicht wollte :D Also ich erklärs nochmal:
1. User übergibt Mail mittels SMTP Protokoll an SMTP Server
2. SMTP Server bringt das Mail irgendwie auf den POP3 Server
3. User holt sich Mail mittels POP3 Protokoll von seinem POP3 Server
Die Frage ist nun: Wie kommt die Mail vom SMTP Server zum POP3 Server, was passiert genau bei Schritt 2?!? Was ich machen will ist eigentlich selber einen SMTP Server coden, allerdings einen quasi "ohne" SMTP Protokoll -> Ich will Mails versenden ohne auf fremde SMTPs angewiesen zu sein.
Hast du das SMTP RFC mal gelesen?
http://www.ietf.org/rfc/rfc0821.txt
STMPd sendet an einen anderen SMTPd solang bis du am Ziel bist. Der letzte SMTPd speichert die mail aufs filesystem. Der POP3d kann nun die mails wieder vom filesystem holen...
Und übrigens wär es vielleicht auch angebracht, die Angaben, die man im Profil nicht machen möchte einfach leer zu lassen. Aber jeder präsentiert sich wie er will... :rolleyes:
butterkeks
26.02.2006, 12:12
Welcher smtp Server für die "Zustellung" der Domain letztendlich verantwortlich ist (bzw. welche), lässt sich über den MX Record ermitteln.
Somit bruachst du im Grunde nicht mal einen Relay...
Mehr dazu:
http://www.ietf.org/rfc/rfc974.txt
Du solltest dir auf jeden Fall erst mal einen SMTP-Server anshen, bevor du selbst einen schreibst.
Dann siehst du auch im Detail, wie die Daten von einem zum anderen Dienst übergeben werden. Fachwissen brauchst du schließlich auch, wenn du etwas entwickeln möchtest. Hier wird dir keiner den Inhalt ganzer Bücher abtippen!
Wenn du meinen Post aufmerksam gelesen hast, hast du daraus entnommen, dass der Verzicht auf weitere SMTP-Server nicht sinnvoll ist.
Die Dienste, die wir jeden Tag im Internet in Anspruch nehmen, sind sehr gut durchdacht und bewährt.
An bewährte Standards solltest du dich auf jeden Fall halten!
MX-Einträge und Relays dienen u. a. der Ausfallsicherheit und der Lastenverteilung.
Das ist der wesentliche Unterschied zu einem Forensystem und Emails.
Wie gesagt, frag doch einfach mal Dr. Google!
Das ist die beste Referenz die es im Netz gibt: www.google.de
Aus solchen Suchmaschinen kommen auch die Links, die die anderen im Board posten - z.B. RFCs.
Firefall
01.03.2006, 13:07
Oka also das Mail wird von SMTP Server zu SMTP Server geschickt bis es mal per Zufall oder auch mit Hilfe des MX Records auf dem SMTP Server "PC" ankommt, auf dem auch der POP3 Server des Empfängers läuft. Das heisst um eine Mail "direkt" zu verschicken muss ich sie einfach an den SMTP Server des POP3 Servers des Empfängers schicken (Schlecht formuliert, ich weis). Und dafür brauche ich den MX Record. Wichtig: Ich "beherrsche" SMTP, also ist kein Bedarf da das ich mich über das Protokoll informiere. Wie komm ich an den MX Record, am besten mit Winsock? Das RFC sagt irgendwie nicht viel aus, oder ich seh das wichtige nicht...
Soweit ich weiß, läuft selten auf einem Server nur ein SMTPd oder POPd. Ergo meist beides zusammen, jedenfalls bei Mailanbietern, sodass der SMTPd die Mails eben genau dort speichert, wo sie für den POPd erreichbar ist, welcher diese dann für den Empfänger aufbewahrt.
Und den MX-Rec bekommst du beispielsweise durch whois raus (siehe http://www.ripe.net).
Firefall
01.03.2006, 15:04
Soweit ich weiß, läuft selten auf einem Server nur ein SMTPd oder POPd. Ergo meist beides zusammen, jedenfalls bei Mailanbietern, sodass der SMTPd die Mails eben genau dort speichert, wo sie für den POPd erreichbar ist, welcher diese dann für den Empfänger aufbewahrt.
Und den MX-Rec bekommst du beispielsweise durch whois raus (siehe http://www.ripe.net).
Das heisst ich bin auf andere Server angewiesen? Wenn ich die email achmed@xyz.org als Empfänger habe kann ich nicht zu xyz.org verbinden und so den SMTP Server herausfinden? -> Das ganze wird also zu einer Art DNS Abfrage?
butterkeks
01.03.2006, 16:00
für windows hab ich für DNS-Sachen (der MX-Record ist ja auch ein DNS Eintrag) das hier gefunden:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dns/dns/dns_functions.asp
Wäre zumindest ein Anhaltspunkt...
Hab das aber noch nie benutzt und eigentlich sollte man das auch nicht, sondern, wie gesagt, lieber einen relay benutzen, wenn du eine Mail senden willst.
Firefall
01.03.2006, 16:22
Danke für den Hinweis... Bei mir sieht's aber gleich aus, ich habe keine Ahnung davon, auch nicht von DNS allgemein... Ist irgendwer in der Lage daraus einen (Pseudo)Code zu schreiben mit dem ich am Schluss die (IP) Adresse einer beliebigen Domain bekomme? Müsste aber am Schluss irgendwie über ActiveX laufen, da ich es mit VBScript machen will.
mnemonic
01.03.2006, 17:24
Danke für den Hinweis... Bei mir sieht's aber gleich aus, ich habe keine Ahnung davon, auch nicht von DNS allgemein... Ist irgendwer in der Lage daraus einen (Pseudo)Code zu schreiben mit dem ich am Schluss die (IP) Adresse einer beliebigen Domain bekomme? Müsste aber am Schluss irgendwie über ActiveX laufen, da ich es mit VBScript machen will.
Die Adresse zu einem Hostnamen bekommst Du via gethostbyname (http://msdn.microsoft.com/library/en-us/winsock/winsock/gethostbyname_2.asp?frame=true).
Ein Codebeispiel für C++ findest Du dort auch.
Firefall
02.03.2006, 19:37
Die Adresse zu einem Hostnamen bekommst Du via gethostbyname (http://msdn.microsoft.com/library/en-us/winsock/winsock/gethostbyname_2.asp?frame=true).
Ein Codebeispiel für C++ findest Du dort auch.
Danke - Wow diese Winsock Anwendungen kannte ich noch gar nicht... War wohl auf Version 1.0 beschränkt :D Nun das Problem ist leider grösser, sonst könnte ich direkt als Remote Host den Hostnamen angeben... Das Problem ist von der Emailadresse auf den Hostnamen des zugehörigen SMTP Servers zu kommen. zb bei billgates@microsoft.com müsste dann mail.microsoft.com herauskommen. Das dabei das Schema mail.[domain].[toplevel] für jede Domain zutrifft wage ich zu bezweifeln... Also das konkrete Problem ist: Ich brauche einen VBScript (Wahlweise auch JScript) Code, der mir zu einer beliebigen Emailadresse den MX-Record ausgibt.
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.