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.

< 220 server.tld LMTP server ready
> LHLO client.tld                                       # LHLO Handshake statt HELO/EHLO
< 250-server.tld
< 250-PIPELINING
< 250 SIZE
> MAIL FROM:<user@example.tld>
< 250 OK
> RCPT TO:<wiki@wikipedia.org>                          # 1. erfolgreiches RCPT
< 250 OK
> RCPT TO:<sales@wikipedia.org>                         # nicht erfolgreiches RCPT
< 550 No such user here
> RCPT TO:<admin@wikipedia.org>                         # 2. erfolgreiches RCPT
< 250 OK
> DATA
< 354 Start mail input; end with <CRLF>.<CRLF>
> Client sends message
> .
                                                        # SMTP erlaubt hier nur eine Antwort,
                                                        # LMTP dagegen eine Antwort pro erfolgreichem
                                                        # RCPT in entsprechender Reihenfolge.
< 250 <wiki@wikipedia.org> OK                           # Zustellung an wiki@wikipedia.org erfolgreich
< 452 <admin@wikipedia.org> is temporarily over quota   # Zustellung an admin@wikipedia.org temporär
                                                        # nicht möglich
                                                        # der Client wird es also später erneut
                                                        # versuchen
> QUIT
< 221 server.tld closing connection

Software

LMTP wird in mehreren Softwarepaketen unterstützt, darunter

  • J. Myers: RFC 2033 Local Mail Transfer Protocol. Oktober 1996 (englisch).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.