ローカルメール転送プロトコル(LMTP )は、受信側にメールキューがない場合(メッセージ転送エージェントがメッセージ配信エージェントとして機能する場合など)に、(拡張)シンプルメール転送プロトコルの代替となるプロトコルです。LMTPは1996年にRFC 2033で説明されました。[1]
概要
メールキューはSMTPの必須要件です。メールキューが利用できない状況では、メールストレージサーバーがメールキュー用のストレージを追加割り当てすることなく、メールストアのみを管理できるLMTPが適しています。しかし、メールメッセージの受信者が複数いる場合、SMTPではこれは不可能です。SMTPは、すべての受信者への配信成功または失敗しか通知できないため、失敗した受信者を処理するための別のキューが必要になります。
一方、LMTPは、受信者ごとに成功または失敗をクライアントに通知できるため、クライアントがキューイングを処理できます。この場合のクライアントは通常、インターネットに接続されたメールゲートウェイです。LMTPは広域ネットワーク(WAN)での使用を想定していません。つまり、メッセージ転送エージェント(MTA)は、LMTPからインターネット上の別のメールサーバーへのメールストリームを含む、すべての送信メールを処理します。
LMTPは、インターネットプロトコルスイートのアプリケーション層プロトコルです。SMTPと同様に伝送制御プロトコル(TCP)トランスポートを使用できますが、SMTPのウェルノウンポートであるポート番号25は使用できません。ただし、一部のメールサーバーアプリケーションでは、ポート番号24(「任意のプライベートメールシステム」)の使用が一般的です。[2]
SMTPとの違い
LMTP会話構文はSMTP(以前は拡張SMTPと呼ばれていました)と同じコマンドに基づいていますが、次の例外があります。[1]
- LMTPはSMTP用に予約されているポート25では使用しないでください。
- LMTPは、(E)SMTPで使用される
LHLO動詞の代わりにEHLO、またはを使用します。HELO - ESMTPはメッセージ本文全体に対して単一のステータスを必要とします。LMTPは、以前に成功したRCPTコマンドごとに応答を必要とします。つまり、複数の受信者がいる場合、メッセージ本文の送信後でも、一部の受信者のLMTP送信が失敗しても、他の受信者のLMTP送信が成功することがあります。この機能により、ユーザーがクォータを超過した場合でも、バウンスメッセージを生成することなく、LMTP送信を失敗させることができます。
重要な違いは、LMTPは特定の最終受信者宛てのメッセージがすぐに配信できない場合、そのメッセージを拒否することです。これにより、メールキューが不要になります。このため、LMTPはSMTPの標準TCPポートでは実行されません。
参考文献
- ^ ab Myers, J. 「Local Mail Transfer Protocol」. tools.ietf.org . 2021年3月3日閲覧。
- ^ Venema, Wietse. 「Postfixマニュアル - smtp(8)」. LMTP宛先構文. p. 2. 2017年9月16日閲覧。