Robert R.: Mail-Transport per SMTP

Beitrag lesen

Liebe Mitdenker,
liebe Wissende,
liebe Neugierige,

ja!

Da bringst du verschiedene Sachen durcheinander.

Das gebe ich im vollen Umfang zurück.

Es gibt zwei Arten der Übermittlung von Mails per SMTP: Mails an Empfänger, für die der annehmende Server sich selbst zuständig fühlt, und solche, die er weitergeben muss.

Es gibt nur ein SMTP-Protokoll, das aber selbstverständlich in unterschiedlichen (zeitlichen) Versionen. Das Relaying, das Du hier meinst, ist eine Funktionalität der SMTP-Dienste des "Servers". Der besteht nämlich aus mehreren Teildiensten.

Für Ersteres ist keine Authentifizierung notwendig; wenn ich eine E-Mail an beispiel@gmx.de direkt beim SMTP-Server von GMX einliefere, brauche ich dazu kein Passwort, keine spezielle Software, keinen speziellen Server.

Du benötigst dazu einen SMTP-Client, der das SMTP-Protokoll mit dem Server sprechen kann. Selbstverständlich kann der Server das Relaying auch ablehnen. Selbstverständlich kann er es auch abhängig von Authorisierungen machen. Du kannst ohne SMTP keine eMail bei GMX-Mail "einliefern", es sei denn Du hättest direkten Zugang auf die Queues - die Dateien im Filesystem des Servers.

E-Mail-Versand wäre auch überhaupt nicht möglich, wenn man für jede Domain Anmeldedaten bräuchte – würde ich eine Mail an info@selfhtml.org schreiben wollen, müsste ich mir erst ein Konto dort einrichten lassen. Dann schreibe ich an redaktion@heise.de und brauche auch dort wieder ein Konto … Das kann so nicht funktionieren.

Das habe ich auch gar nicht behauptet. Du hast nur nicht genau gelesen und das Internet-Mailsystem vermutlich noch nicht genauer kennengelernt. Nimm Dir bitte etwas mehr Zeit.

Wenn ein SMTP-Client (als Teildienst eines Mail-"Servers") einem SMTP-Server, der auf Port 25 lauscht (hier wirklich als Server-teildeienst des Mail-"Servers") eine Mail sendet, dann geht dieser die Verbindung ein, stellt fest, was mit der Mail geschehen soll, und fährt sein dafür vorgesehenes Handlungspaket ab. Dazu gehört:

  • Ist der Absendene Mail-Dienst (Client-teil des anderen Mail-"Servers") im Intenet bekannt?
      Steht der auf einer Blacklist? Habe icb Whitelisting zu beachten? usw.

  • Handelt es sich um eine Local-Domain, oder eine Virtual-Local-Domain, dann stelle fest,
      ob es den Empfänger gibt oder ein Ersatzempfänger dafür vorgesehen ist. Stelle fest, ob
      der Absender-Name auf einer Sperrliste steht. Usw. Wenn die Mail als zustellbar gilt, dann
      bestätige die Annahme (accept) der Übertragung des Mailbodys vom Absender, nehme sie an,
      übergebe die  Daten an den LDA (Local Delivery Agent, der zuvor auch schon die Header geprüft
      hat) und lasse diesen die Mail im passenden Postoffice ablegen.

Wenn am Absender irgendetwas auszusetzen ist, oder der Empfänger nicht bekannt ist, lehne
  die weitere Verbidnung ab (reject) und das wars.

  • Handelt es sich um keine Local-Domain oder virtual-local Domain, dann schaue, ob du
      relayen sollst und ob es Ablehnungsgründe für die Absender-Domain (Reverse IP) oder den
      Absender-Namen gibt. Wenn nicht, gucl, ob der Empfänger-Server mit dir sprechen will.
      Wenn ja, lass die Daten kommen und lege sie auf deinen Relay-Stack. Bei Zeiten solltest Du
      sie nun an den Zielserver weiterleiten.

Das ganze Verfahren füllt ein dcikes Buch mit weit über 1000 Seiten. Das kann ich hier nicht wiedergeben.

Anmelden muss man sich hingegen für den zweiten Fall. Dieser Vorgang ist jener, den Otto Normalnutzer von seinem E-Mail-Programm kennt: Er hat ein Konto bei GMX und möchte über dieses Konto eine Mail an Yahoo schicken. Der SMTP-Server von GMX spielt hierbei nur die Rolle des Weitergebenden.

Das mag Die in der Unkenntnis über die Möglichkeiten der email-Dienste so erscheinen, trifft aber nur zu einigen wenigen Prozent zu. Die meisten Mail-Server akzeptieren Relaying nur noch
von bekannten Partnern.

Spirituelle Grüße
Euer Robert

--
Möge der Forumsgeist wiederbelebt werden!