mail mit smtp Frage an Profis?
-
Also für den Clientbereich auf das eigene E-Mailkonto
Ich versteh jetzt nicht was du damit meinst. Damit du eine Nachricht verschicken kannst, musst du dich an deinem POP Server anmelden, da SMTP normalerweise kein Passwort verlangt. Dieser verschickt dann nicht Nachricht an einen fremdem Server.
SMTP diente ursprünglich zur Kommunikation in lokalen Netzwerken, d. h. Nachrichten kamen direkt an. Zum Verschicken der E-Mails über das Internet wird aber ein POP (oder IMAP)Server benötigt, der die Mails sammelt. Der Empfänger muss sie dann explizit abholen.
Wie auch immer, wenn du wirklich sowas implementieren willst, kommst du wohl um das durcharbeiten der RFCs nicht herum:
POP3
SMTPEs gibt noch mehr, musst mal danach suchen...
-
Kein Standard C++
-
CarstenJ schrieb:
Die Mails werden ja auch nicht von einem SMTP Server empfangen, sondern von einem POP (Post Office Protocol) Server.
Nicht ganz, der POP Server sendet die nur zum eMail Client. Der mail.yahoo.de Server ist für die eMails, die Yahoo-User an andere schicken, also VON Yahoo, nicht ZU Yahoo. Der Server, der die eMails von anderen empfängt ist mx1.mail.yahoo.com, der verlangt auch kein Auth, empfängt dann aber nur eMails, die AN Yahoo gehen. Rauskriegen kannst du das ganze mti dem programm Nslookup.exe (ist bei Windows dabei), einfach starten, dann folgendes eingeben:
set type=mx
und dann die Domain, z.B.
Danach listet er die entsprechenden Mail Server auf...
Entweder suchst du für jede Domain den MX-Eintrag selber raus, oder du schaust dir DNS an, und schreibst dafür eine Funktion. Hab dafür mal ne Funktino geschrieben, die den ersten MX-Eintrag raussucht, nicht sehr gut, war nur provisorisch, aber kann ich dir ja mal schicken...
[edit]
Noch zu Carsten:
Die mails werden auch sofort versandt, die Mails leigen dann bei z.B: Yahoo auf dem Server, der POP Server wartet nur darauf, dass sich ein User verbindet und die eMails abholen will. Die SMTP-Server, die Auth benötigen sind die, die halt von Yahoo Usern an andere schicken, die sind dann halt geschützt, damit nicht jeder Spammer die nutzen kann. Die Server, die die eMails für Yahoo empfangen brauchen kein Auth, weil die Spammer die nicht als Relay-Server verwenden können, andere Empfänger-Domains werden halt abgewiesen.
[/edit]
-
Client z.B. Outlook Express möchte an "bla@bla.de" eine eMail versenden.
Dazu meldet sich der Client bei z.B. smtp.web.de an. smtp.web.de prüft nun erstmal ob der Client überhaupt die Berechtigung hat eine eMail über ihn zu versenden. (z.B. via auth-smtp oder pop.web.de erzählt smtp.web.de das vorher der client emails abgerufen hat)
smtp.web.de hat jetzt die Mail entgegen genommen und guckt erstmal.
Aha die Mail soll an den mailserver von bla.de gehen. Dann wird mittels MX-Angaben der Domain erstmal die zuständigen Mailserver rausgefunden.
Sagen wir mal der zuständige Mailserver heisst mail.bla.de
Dann meldet sich der mailserver von web.de erstmal beim smtp-server mail.bla.de an und sagt ihm, dass er ne eMail für den benutzer bla von der domain bla.de hat.
Der Mailserver guckt nach: Jo, für diesen Benutzer darf ich Mails annehmen und schwupps ist die mail bei mail.bla.de angekommen. Der Mailserver sortiert die mail jetzt noch ins richtige postfach und jetzt kann der besitzer von bla@bla.de die neue eMail via pop3 abholen. Wenn bei mail.bla.de allerdings ne eMail für test@blax.de ankommt, weiss der mailserver natürlich dass er gar nicht für die eMails der Domain blax.de verantwortlich ist und wird die Annahme der eMail verweigern.Die Authentifizierung wird also in den meisten Fällen NUR BEIM SENDEN benötigt.
Viele Mailserver nehmen keine eMails von dynamischen IPs an, da hier oft eigene Mailserver ohne Authentifizierung laufen und zu einem großen Teil zum Spam senden gut sind. Zusätzlich sichern sich viele Mailserver mit Spam-Blocklisten von z.B. spamhaus.org ab.
-
Also mit den Dynamischen IP's ist das verschieden, als ich das getestet hatte, hatte Yahoo die von mir gesendeten Mails als Spam erkannt, es sei denn, ich war mit Ewetel im Internet, dann kamen alle an, nur die von T-Online geschickten wurden als Spam erkannt...
-
GMX erlaubt z. B. das Senden nach der Anmeldung beim POP-Server, egal welche IP, innerhalb von 3 Minuten.....
-
Meiner Meinung nach sollte pop-before-smtp langsam abgeschafft werden.
-
Naja, aber ich glaube alteeingesessene Dinge ändern sich in der Computerbrancher eher selten, wenn überhaupt....siehe IPv6
-
also geeky vielen vielen Dank, das wars bestimmt.
Denn das es irgendetwas mit MX zutun hat und glaubte an einen extra ansprechbaren Server.
Du hast es mir damit bestätigt und die Lösung gebracht, denke ich.
Aber beim googeln war immer nur von den smtp-servern die Sprache.
Das war ja das Desaster. Ich möchte nicht über einen Server , sondern an einen Server EMAILS senden.
Das mit POP und AUTH und smtp hatte ich schon richtig durchgelutscht ohne darauf zu stossen, dass jeder EMAIL-PROVIDER einen MX-Server hat.
Vielen Dank!
-
ENTSCHULDIGE Iich wollte vorallem TheToast Danken !!!
Natürlich auch einen Dank an die anderen, die sich hier bemühten!