Wie werden eigentlich E-Mails versendet
-
Ich frage mich gerade, wie eigentlich E-Mails versendet werden. Wenn ich nach dem Protokoll suche, finde ich immer SMTP. Das scheint aber so zu funktionieren, dass ich mich bei einem Server einlogge, dem die Mail gebe und der die verschickt. Aber wie macht der das? Oder anders gesagt: Wie kann ich dem Server eine Mail schicken?
-
Ich habe SMTP mal ausprobiert. Ich möchte ein E-Mail an meine gmx Adresse schicken. Verbinde also auf mail.gmx.net, TCP, Port 25.
> 220 bla
< HELO bla.dyndns.org
> 250 bla
< MAIL FROM: bla@bla.dyndns.org
> 550 5.1.8 Only registrated user are allowed to use this system {mp037}
-
Steht doch da. Du musst Dich erst anmelden, bevor GMX Mails von Dir entgegennimmt.
-
Ja und wie sendet dann der Yahoo Server E-Mails an GMX? Meldet der sich auch erst mal an?
Das macht doch alles keinen Sinn so.
-
Zum Versenden von E-Mails reicht ein Protokoll (SMTP) und die Adresse wohin die Reise gehen soll. Kann man aus einem Programm auch selbst machen mit zu akzeptierenden Sicherheitshinweisen auf der eigenen und der Gefahr einer Spam-Filterung auf der anderen Seite.
-
Was muss ich dem Server jetzt sagen, damit er mir erlaubt eine Mail zu senden?
-
lolli schrieb:
Was muss ich dem Server jetzt sagen, damit er mir erlaubt eine Mail zu senden?
Du musst dich Authentifizieren:
http://en.wikipedia.org/wiki/SMTP-AUTH#DetailsEinfacher ist, du suchst dir einen Open Relay Server zum testen
zB indem du lokal bei dir einen Server aufsetzt.
Sicher dass du dich mit dem Protokoll auf so einer low-level Ebene befassen willst? Denn Authentification ist händisch ziemlich umständlich zu machen weil idR keine Plaintext Passwörter verwendet werden. Und händisch verschlüsseln ist umständlich.
PS:
Mailserver verwenden zwischeneinander auch nur SMTP. Prinzipiell ist es so, dass man den eigenen Mailserver zum verschicken nicht brauchen würde. Man könnte sich wenn man zB von seiner Gmail adressen an eine GMX adresse schicken will direkt per SMTP mit GMX verbinden und dort die Mail direkt hinschicken.Der Grund warum das nicht (mehr) geht ist Spam. Wegen Spammails muss alles abgesichert werden und man muss deshalb seine Mails über einen mailserver relayen.
-
Ja, aber wie kann ich mich da denn authentifizieren? Welches Passwort soll ich schicken? Macht ja wenig Sinn, mich mit meinem Account einzuloggen.
Wegen dem Open Relay Server: Aber der muss dann doch auch irgendwie mit GMX kommunizieren? Oder kann ich die Mail dann nur an den Server selbst schicken?
-
lolli schrieb:
Ja, aber wie kann ich mich da denn authentifizieren? Welches Passwort soll ich schicken? Macht ja wenig Sinn, mich mit meinem Account einzuloggen.
Wegen dem Open Relay Server: Aber der muss dann doch auch irgendwie mit GMX kommunizieren? Oder kann ich die Mail dann nur an den Server selbst schicken?Lies wikipedia.
Wenn du einen GMX Account hast, hast du da Zugangsdaten. Wenn du keinen GMX Account hast, dann kannst du auch nicht über GMX mails verschicken... Welche Daten hast du denn bei deinem Mail Client eingetragen?
-
Hier liegt das Missverständnis. Ich habe einen GMX Account, ja. Aber ich möchte keine E-Mail von diesem Account aus schicken, sondern ich möchte eine E-Mail an diesen Account schicken. Und es macht ja irgendwie wenig Sinn, wenn ich mich dafür einloggen muss?
-
Das Ziel (Empfänger) ist klar, nur die Quelle (Sender) nicht. Der Hinweis auf die Spam-Filterung wurde dir gegeben.
-
lolli schrieb:
Hier liegt das Missverständnis. Ich habe einen GMX Account, ja. Aber ich möchte keine E-Mail von diesem Account aus schicken, sondern ich möchte eine E-Mail an diesen Account schicken. Und es macht ja irgendwie wenig Sinn, wenn ich mich dafür einloggen muss?
Doch! Sonst könnte ja jeder Hansel kommen und beliebig Emails für dich bei GMX hinterlegen. Wie dir schon oft gesagt wurde und wie das Bildchen auf Wikipedia so schön zeigt, reden Emailserver untereindander auch nur über SMTP. Du musst halt einen Emailserver finden, der dir vertraut. Oftmals vertraut z.B. der Emailserver eines ISP erst einmal allen seinen Clients (sofern die keinen Mist machen). Das heißt, wenn du zuhause einen Emailserver aufsetzt und den Mailserver des ISP als ersten Ansprechpartner angibst, dann kannst du von zuhause aus deinen Server per SMTP ansprechen (zu dem du ja Zugang haben solltest), der fragt dann den Mailserver des ISP, der schickt die Mail dann noch weiter, usw. bis die Mail angekommen ist.
Oder du hast schon einen Server im Internet, zu dem du Zugang hast. Dann kannst du auch direkt bei diesem anfangen. Du kannst dich ja mal über die Konsole bei gmx authentifizieren und dir selber eine Email schreiben. Der GMX-Server wird dann ohne Zwischenstation (sofern er nicht ganz doof ist
) die Email in deinen Posteingang legen.
-
lolli schrieb:
Hier liegt das Missverständnis. Ich habe einen GMX Account, ja. Aber ich möchte keine E-Mail von diesem Account aus schicken, sondern ich möchte eine E-Mail an diesen Account schicken. Und es macht ja irgendwie wenig Sinn, wenn ich mich dafür einloggen muss?
bei gmx musst du dich auch authentifizieren, wenn du mails ueber deren mailserver verschicken willst - auch an deine adresse. welchen mailserver zum versenden verwendest du, vielleicht liegt hier das missvertaendniss? deshalb der hinweis zu open relay servern.
edit: oder lies einfach was SeppJ geschrieben hat...
-
SeppJ schrieb:
Doch! Sonst könnte ja jeder Hansel kommen und beliebig Emails für dich bei GMX hinterlegen.
Ich dachte bisher, das wäre der Sinn von E-Mails. Dass jeder mir eine Nachricht schicken kann.
Soll das jetzt heißen, GMX hat eine Whitelist und nimmt nur E-Mails von Servern an die da drauf stehen? Kann ich nicht so wirklich glauben, dann könnten kleine E-Mail-Server ja gar nichts an GMX Adressen schicken..Um das noch mal klar zu stellen: Ich will einfach nur wissen, wie ich eine Mail an eine GMX Adresse schicken kann. Ob die dann im Spamfilter oder sonst wo landet ist mir erst mal egal, ich will nur das System verstehen. Ihr sagt mir immer ich soll einen anderen Mailserver nutzen, aber was bringt mir das? Ich will keinen anderen Mailserver nutzen, der muss dann doch auch irgendwie mit GMX kommunizieren, und ich will wissen wie genau das abläuft.
-
lolli schrieb:
SeppJ schrieb:
Doch! Sonst könnte ja jeder Hansel kommen und beliebig Emails für dich bei GMX hinterlegen.
Ich dachte bisher, das wäre der Sinn von E-Mails. Dass jeder mir eine Nachricht schicken kann.
Soll das jetzt heißen, GMX hat eine Whitelist und nimmt nur E-Mails von Servern an die da drauf stehen? Kann ich nicht so wirklich glauben, dann könnten kleine E-Mail-Server ja gar nichts an GMX Adressen schicken..Um das noch mal klar zu stellen: Ich will einfach nur wissen, wie ich eine Mail an eine GMX Adresse schicken kann. Ob die dann im Spamfilter oder sonst wo landet ist mir erst mal egal, ich will nur das System verstehen. Ihr sagt mir immer ich soll einen anderen Mailserver nutzen, aber was bringt mir das? Ich will keinen anderen Mailserver nutzen, der muss dann doch auch irgendwie mit GMX kommunizieren, und ich will wissen wie genau das abläuft.
Dann muss GMX dir vertrauen. Das geht zum Beispiel, indem du deine Zugangsdaten benutzt, da du schon einen GMX Account hast. Wenn du keinen GMX-Account hast, dann musst du dir einen anderen Mailserver suchen, der einen anderen Mailserver kennt, der einen anderen Mailserver kennt, ... ,der einen Mailserver kennt, dem GMX erlaubt, dass er ihm Emails schickt.
Im Prinzip ist es in der Praxis so wie du es dir mit der Whitelist denkst. Wobei es mWn derzeit noch (das wird immer restriktiver) eher eine Blacklist ist. Spam ruiniert die Welt
.
Und lies Wikipedia. Die Englische:
Überblick: http://en.wikipedia.org/wiki/Email#Operation_overview
Senden: http://en.wikipedia.org/wiki/Mail_submission_agent
Weiterleiten: http://en.wikipedia.org/wiki/Mail_transfer_agent
Empfangen: http://en.wikipedia.org/wiki/Message_delivery_agent
-
SeppJ schrieb:
Im Prinzip ist es in der Praxis so wie du es dir mit der Whitelist denkst. Wobei es mWn derzeit noch (das wird immer restriktiver) eher eine Blacklist ist. Spam ruiniert die Welt
.
Ok, damit hatte ich tatsächlich nicht gerechnet. Komisches System, aber Danke.
-
gmx verwendet seit einiger Zeit auch SPF, damit werden Mails mit gmx-Adressen als Absender nicht mehr so einfach überall akzeptiert, wenn sie nicht von einem der zulässigen gmx-Server stammen.
-
lolli schrieb:
Ich will keinen anderen Mailserver nutzen, der muss dann doch auch irgendwie mit GMX kommunizieren, und ich will wissen wie genau das abläuft.
Genauso wie wenn du mit dem Mailserver sprichst.
Nur dass du dich heutzutage eben auch noch mit SPF und DKIM uä. herumschlagen musst. Und auch frueher schon musste meistens der Reverse-DNS-Eintrag des absendenden Servers passen und und und.
Und ganz wichtig: mail.gmx.net ist der Ausgangsserver fuer GMX-Kunden. Wohin die Mails an GMX-Adressen geroutet werden sollen, wird anhand des MX-Eintrags festgelegt:
~ % dig +short mail.gmx.net 213.165.64.20 213.165.64.21 ~ % dig +short mx gmx.net 10 mx0.gmx.net. 10 mx1.gmx.net. ~ % dig +short mx0.gmx.net 213.165.64.100 ~ % dig +short mx1.gmx.net 213.165.64.102
Mail-Eingang via SMTP von außen geht also an andere Hosts als ausgehende Mails von GMX-Kunden. Macht durchaus Sinn.
Dorthin verbinden, dann klappts auch mit deinem Telnet:
~ % telnet mx0.gmx.net 25 Trying 213.165.64.100... Connected to 213.165.64.100. Escape character is '^]'. 220 mx0.gmx.net GMX Mailservices ESMTP {mx055} HELO c-plusplus.net 250 mx0.gmx.net GMX Mailservices {mx055} MAIL FROM: <nman@c-plusplus.net> 250 2.1.0 ok {mx055} […]
-
Hier die ganze Session:
~ % telnet mx0.gmx.net 25 Trying 213.165.64.100... Connected to mx0.gmx.net. Escape character is '^]'. 220 mx0.gmx.net GMX Mailservices ESMTP {mx027} HELO meineeigenedomain.net 250 mx0.gmx.net GMX Mailservices {mx027} MAIL FROM: ich@meineeigenedomain.net 250 2.1.0 ok {mx027} RCPT TO: meinegmxzieladresse@gmx.net 250 2.1.5 ok {mx027} DATA 354 mx0.gmx.net Go ahead {mx027} Subject: eine kleine Testmail Hallo, Das ist eine Testmail. Bis dann. . 250 2.6.0 Message accepted {mx027} QUIT 221 2.0.0 GMX Mailservices {mx027} Connection closed by foreign host.
Subject ist natürlich optional, aber praktisch.
From:
- undTo:
-Header wären auch nicht dumm gewesen.
-
Hm.. ich bin ja auf den Geschmack gekommen und wollte das testen, aber bei mir schließt mx0.gmx.net die Verbindung einfach sofort. Mögen die micht nicht?