Local Mail Transfer Protocol
# Local Mail Transfer Protocol

Das Local Mail Transfer Protocol (LMTP) ist eine Ableitung des SMTP-Protokolls.

Während SMTP für die weltweite Mail-Zustellung zwischen beliebigen Mail Transfer Agents entwickelt wurde, ist LMTP für die Auslieferung der Mails innerhalb einer lokalen Organisation, d. h. für den Transport zwischen verschiedenen lokalen Serverkomponenten wie etwa Mail Transfer Agent und Mail Delivery Agent gedacht. Die Auslieferung an die einzelnen Benutzerpostfächer erfolgt dagegen durch den Mail Delivery Agent.

## Die Unterschiede zu SMTP

* Im Gegensatz zu SMTP ist LMTP so konzipiert, dass es zur sicheren Kommunikation mit Servern verwendet werden kann, die keine eigene Warteschlange haben. Falls die Zustellung nicht direkt erfolgen kann, weist der Server die Mail temporär ab. Nur wenn die Mail sofort vollständig zugestellt werden kann, findet die Übertragung per LMTP statt.
* Um zu vermeiden, dass ein Nur-SMTP-Client mit einem Nur-LMTP-Server kommuniziert, wird statt des SMTP-typischen HELO- bzw. EHLO-Handshake LHLO benutzt.
* Wenn es in der aktuellen Session kein erfolgreiches RCPT-Kommando gab, muss der Server als Antwort auf DATA den Fehlercode 503 zurückliefern.
* Nach dem abschließenden "." des DATA Kommandos muss der Server eine Statusmeldung pro angenommenem RCPT-Kommando senden. Dabei muss die Reihenfolge des Clients eingehalten werden.

## Beispiel aus Sicht des Clients

Zur besseren Verständlichkeit ist das folgende Beispiel mit Kommentaren erweitert, die nicht zum Protokoll gehören. Diese beginnen mit # und erstrecken sich bis zum Ende der Zeile.

## Software

LMTP wird in mehreren Softwarepaketen unterstützt, darunter

* Exim
* Postfix
* Sendmail
* Cyrus
* Dovecot
