Local Mail Transfer Protocol
Erscheinungsbild
Das Local Mail Transfer Protocol (LMTP) ist eine Ableitung des SMTP-Protokolls.
Während SMTP für die Mail-Zustellung zwischen Mail Transfer Agents entwickelt wurde, ist LMTP für die Auslieferung der Mails in die Postfächer der Benutzer gedacht. Die Auslieferung erfolgt durch den Mail Delivery Agent, entsprechend dient LMTP zur Kommunikation zwischen Mail Transfer Agent und Mail Delivery Agent.
Die Unterschiede zu SMTP
- Im Gegensatz zu SMTP benötigen LMTP-Server keine eigene Queue, falls die Zustellung nicht direkt erfolgen kann, weist der Server die Mail temporär ab.
- Um zu vermeiden, dass ein SMTP-Client mit einem LMTP-Server kommuniziert wird statt dem 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
< 220 server.tld LMTP server ready > LHLO client.tld < 250-server.tld < 250-PIPELINING < 250 SIZE > MAIL FROM:<user@example.tld> < 250 OK > RCPT TO:<wiki@wikipedia.org> < 250 OK > RCPT TO:<sales@wikipedia.org> < 550 No such user here > RCPT TO:<admin@wikipedia.org> < 250 OK > DATA < 354 Start mail input; end with <CRLF>.<CRLF> > Client sends message > . < 250 OK < 452 <admin@wikipedia.org> is temporarily over quota > QUIT < 221 server.tld closing connection
Software
LMTP wird in mehreren Softwarepaketen unterstützt, darunter