Was ist eigentlich der Mail Transfer Agent (MTA)?

Was haben Anästhesisten, Fluglotsen und Office Manager gemeinsam? Sie sind die verkannten Superstars unseres Alltags, die still und heimlich im Hintergrund agieren. Ähnlich wie der Mail Transfer Agent (MTA) – Star unserer modernen Kommunikationswelt und zentraler Bestandteil eines jeden Mailservers.

Was ist ein Mail Transfer Agent?

Ein Mail Transfer Agent (kurz MTA) ist der zentrale Bestandteil eines jeden Mailserver. Und somit für den Versand und Empfang von E-Mails verantwortlich. Klingt trivial, ist aber mit zahlreichen Herausforderungen verbunden. Denn nicht immer ist der Empfänger einer E-Mail erreichbar. Auch droht aus allen Richtungen Gefahr von Angreifern: Hacker, Spammer, Scammer, Bots usw. Ein zuverlässiger MTA spielt folglich eine wichtige Rolle in der modernen IT und auch im CRM und E-Mail-Marketing.

Wie wird ein MTA eingesetzt?

Als zentraler Bestandteil eines Mailservers werden MTAs für folgende Aufgaben eingesetzt:

  • Versand von E-Mails
  • Empfang von E-Mails

Prinzipiell kann ein MTA beides gleichzeitig. Aus Sicherheits- und Performance-Gründen teilen sich verschiedenen MTAs diese Aufgaben jedoch häufig. Und nutzen spezielle Inbound- und Outbound-Spamfilter.

Wie funktioniert der Versand einer E-Mail?

Ein MTA kann E-Mails von einem sogenannten Mail User Agent (MUA) erhalten. Das ist häufig ein E-Mail-Programm wie Outlook. Aber auch eine Marketing-Software oder eine Email API kann als MUA agieren und E-Mails übergeben. Meistens geschieht das auf Basis von SMTP. (Als Bote agiert ein sogenannter Message Submission Agent.)

Der zuständige MTA wird wie folgt ermittelt:

  1. MX Lookup für Domain (FQDN) der To-Adresse
  2. IP-Nummer des identifizierten Mail Hosts (Final-MX)

Fühlt sich der MTA für die Domain nicht zuständig, gibt er sie an einen anderen MTA weiter. Reagiert dieser gar nicht, werden aus den DNS Fallback-Mail-Exchange-Server gesucht.

MTA Mail Transfer Agent
Quelle: mailtrap

Nimmt dieser MTA die E-Mail nicht an („Reject“) werden (abhängig von der Konfiguration) immer neue Zustellversuche unternommen (selten länger als 72 Stunden).

Klappt die Zustellung letztlich nicht, wird eine Bounce Mail versendet.

Wie funktioniert der Empfang einer E-Mail?

Ein MTA kann E-Mails von einem anderen MTA erhalten. Das passiert, wenn man in der Konfiguration bzw. am Nameserver (DNS) seine Zuständigkeit bekanntgegeben hat. Nimmt der MTA aus irgendwelchen Gründen die E-Mail nicht an, kommt es zu einem sogenannten „Reject“. Der sendene Server wird darüber informiert und kann jederzeit einen weiteren Zustellversuch vornehmen.

Kommt es nach der Annahme der E-Mail es zu einem Fehler, wird eine Bounce Mail mit Details zum Problem verschickt. Ist hingegen alles ok, wird die E-Mail an den lokalen Mail Delivery Agent (MDA) weitergeleitet. Der packt die E-Mail in den Ordner des Users. Im Anschluss kann dieser per POP3 oder IMAP darauf zugreifen.

Bewertet ein Spamfilter die E-Mail als „Spam“, wird sie entsprechend markiert. Im weiteren Verlauf landet sie dann eventuell in einem Spamordner. Häufig löschen Email Server aber auch entsprechende E-Mails („Discard“). Dann kann es passieren, dass eine Nicht-Spam-E-Mail irrtümlich verloren geht („False-Positive“). 

Wie ist eine E-Mail aufgebaut?

Grob betrachtet besteht eine E-Mail aus einem Header und einem Body.

Header

Der Header umfasst u.a. Informationen über die Herkunft, die involvierten MTAs und das Ziel der E-Mail.

Jeder MTA und auch der MDA ergänzen den Header um weitere Einträge. Ähnlich einem Logbuch.

Mail Header

Body

Der eigentliche Inhalt einer E-Mails steckt im sogenannten Body.

Dank der Multipurpose Internet Mail Extensions (MIME) sind Sonderzeichen heutzutage kein Problem mehr. Auch lassen sich unterschiedliche Bodyparts deklarieren. Zum Beispiel für eine Multipart E-Mail, eingebettete Grafiken oder Dateianhänge.

Content-Type: multipart/mixed; boundary=frontier

This is a multi-part message in MIME format.

–frontier
Content-Type: text/plain

This is the body of the message.
–frontier
Content-Type: text/html
Content-Transfer-Encoding: base64

PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcyBpcyB0aGUg
Ym9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==
–frontier–

Werden ausgehende E-Mails sofort bearbeitet?

Nein! Damit sich ein MTA nicht verzettelt, werden ausgehende E-Mails zunächst in eine Warteschlange gepackt. In der Informatik spricht man auch vom Store-and-Forward-Verfahren. E-Mail werden also nie in Echtzeit verschickt. Das hat den Vorteil, dass sowohl Lastspitzen als auch Downtimes abgefangen werden können.

Die Warteschlange wird permanent abgearbeitet. Deshalb ist der Versand oft sehr schnell. Klappt eine Zustellung nicht, kommt es ggf. später zu einem erneuten Versuch.

Welche Bedeutung haben Sessions?

Wird eine E-Mail versendet, muss eine Verbindung (auch „Session“ genannt) aufgebaut werden. Dazu stellt sich der MTA bei dem anderen vor. Akzeptieren sich beide, können E-Mails übergeben werden.

Mails an eine bestimmte Domain werden deshalb oft bündelweise übergeben. Gehen zum Beispiel 10 E-Mails an GMX User, wird eine einzige Session aufgebaut und E-Mails können in einem Bündel übergeben werden. Das spart Zeit. Jedoch dürfen Pakete eine bestimmte Größe nicht überschreiten.

SMTP Protokoll

Mit welchen Problemen kämpft ein MTA?

Beim E-Mail-Versand läuft selten alles reibungslos. Mit diesen Problemen muss sich ein MTA herumschlagen:

  1. Der MTA des Empfängers reagiert nicht auf Anfrage
  2. Der MTA des Empfängers erlaubt keine Session
  3. Der MTA des Empfängers unterbricht eine Session
  4. Der MTA des Empfängers will eine E-Mail nicht annehmen
  5. Die Warteschlange ist voll

Exkurs: MTA-STS als Sicherheitsstandard

MTA-STS (Mail Transfer Agent Strict Transport Security) ist ein Sicherheitsstandard für den E-Mail-Verkehr, der sicherstellt, dass E-Mails zwischen Mailservern verschlüsselt und über authentifizierte Verbindungen übertragen werden. Er wurde entwickelt, um die Sicherheit bei der Zustellung von E-Mails zu erhöhen und Man-in-the-Middle-Angriffe zu verhindern.

Mit MTA-STS kann ein Domaininhaber eine Richtlinie festlegen, die besagt, dass andere Mailserver E-Mails an seine Domain nur dann zustellen sollen, wenn eine TLS-verschlüsselte Verbindung möglich ist und das Sicherheitszertifikat des Servers verifiziert werden kann. Sollte dies nicht der Fall sein, wird die E-Mail nicht zugestellt, anstatt potenziell ungesichert übertragen zu werden.

Was sind Stellschrauben für die Zustellbarkeit?

Auch ein MTA kann so programmiert werden, dass es möglichst wenige Zustellprobleme gibt. Und gleichzeitig E-Mails möglichst zeitnah rausgehen.

  • Verschiedenen MTAs mit eigenständiger IP-Nummern verwenden
    Versandgeschwindigkeit für bestimmte Domains drosseln (Throttling)
  • Die Anzahl paraller Sessions begrenzen
  • Die Größe von Session-Paketen optimieren
  • Die Aufbewahrungszeit von E-Mails in der Warteschlange begrenzen
  • Den Zeitrahmen eines erneuten Zustellversuchs optimieren
  • Überhabe von x-mailer für die Versandsoftware

DKIM zur Authentifizierung

Für eine bessere Zustellbarkeit werden E-Mails immer häufiger mit einer DKIM-Signatur versehen. Und auch hier kommt der MTA ins Spiel:

Ausgehende E-Mails werden dann bei der Übergabe an einen anderen MTA über einen sogenannten DKIM Proxy Server geleitet. Hier wird jede E-Mail mit einer Signatur versehen. Diese stellt sicher, dass Inhalte wie Header FROM (gemäß RFC 822 und RFC 5322), Betreff oder der Body einer E-Mail während des Transfers zwischen den MTAs nicht manipuliert werden. Der empfangene MTA kann so prüfen, ob eine E-Mail tatsächlich von dem versendeten MTA stammt. Wird die E-Mail weitergeleitet, stimmt dise Signatur natürlich nicht mehr.

Welche MTAs gibt es auf dem Markt?

Beliebte Mail Transfer Agents sind:

  • Sendmail/Proofpoint
  • Postfix
  • Microsoft Exchange
  • Exim
  • Qmail
  • KumoMTA

Es gibt aber auch Enterprise MTAs, die von Konzernen und Email Service Providern eingesetzt werden. Diese sind in der Lage, viele Millionen E-Mails je Minute zu versenden und unterstützen z.B. API-Zugriffe oder eine Datenbankanbindung:

  • MailerQ
  • PowerMTA
  • Halon
  • Momentum MTA
  • KumoMT (open-source)
Frank Rix

Autor: Frank Rix

Für angehende Email Deliverability Profis  sind Kenntnisse über den Mail Transfer Agent elementar. Dieser Artikel hilft dir dabei, die grundlegenden Mechanismen eines MTA und somit eines Mailservers zu verstehen.

Ergänzende Artikel

Kostenlose Beratung

Mit Email Deliverability verhält es sich wie mit dem Zahnarztbesuch: Hinauszögern kann sehr schmerzhaft sein. Lass uns sprechen, um präventiv geeignete Maßnahmen zu ergreifen.