1.6. LMTP ソケットと LMTPS リスナーの設定

Postfix などの SMTP サーバーは、Local Mail Transfer Protocol (LMTP) を使用して電子メールを Dovecot に配信します。SMTP サーバーが実行されている場合:

  • Dovecot と同じホストで、LMTP ソケットを使用します。
  • 別のホストで、LMTP サービスを使用する

    デフォルトでは、LMTP プロトコルは暗号化されていません。ただし、TLS 暗号化を設定した場合、Dovecot は LMTP サービスに同じ設定を自動的に使用します。その後、SMTP サーバーは、LMTPS プロトコルまたは LMTP 上の STARTTLS コマンドを使用して接続できます。

前提条件

  • Dovecot がインストールされています。
  • LMTP サービスを設定する場合、Dovecot で TLS 暗号化が設定されます。

手順

  1. LMTP プロトコルが有効になっていることを確認します。

    # doveconf -a | egrep "^protocols"
    protocols = imap pop3 lmtp

    出力に lmtp が含まれている場合、プロトコルは有効になっています。

  2. lmtp プロトコルが無効になっている場合は、/etc/dovecot/dovecot.conf ファイルを編集し、protocols パラメーターの値に lmtp を追加します。

    protocols = ... lmtp
  3. LMTP ソケットまたはサービスが必要かどうかに応じて、/etc/dovecot/conf.d/10-master.conf ファイルの service lmtp セクションで次の変更を行います。

    • LMTP ソケット: デフォルトでは、Dovecot は自動的に /var/run/dovecot/lmtp ソケットを作成します。

      オプション: 所有権と権限をカスタマイズします。

      service lmtp {
        ...
        unix_listener lmtp {
          mode = 0600
          user = postfix
          group = postfix
        }
        ...
      }
    • LMTP サービス: inet_listener サブセクションを追加します。

      service lmtp {
        ...
        inet_listener lmtp {
          port = 24
        }
        ...
      }
  4. SMTP サーバーのみが LMTP ポートにアクセスできるように、firewalld ルールを設定します。次に例を示します。

    # firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.0.2.1/32" port protocol="tcp" port="24" accept"
    # firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv6" source address="2001:db8:2::1/128" port protocol="tcp" port="24" accept"
    # firewall-cmd --reload

    IPv4 アドレスのサブネットマスク /32 と IPv6 アドレスのサブネットマスク /128 は、指定されたアドレスへのアクセスを制限します。

  5. Dovecot をリロードします。

    # systemctl reload dovecot

検証

  1. LMTP ソケットを設定した場合は、Dovecot がソケットを作成したことと、権限が正しいことを確認します。

    # ls -l /var/run/dovecot/lmtp
    srw-------. 1 postfix postfix 0 Nov 22 17:17 /var/run/dovecot/lmtp
  2. LMTP ソケットまたはサービスを使用して、Dovecot に電子メールを送信するように、SMTP サーバーを設定します。

    LMTP サービスを使用する場合は、SMTP サーバーが LMTPS プロトコルを使用するか、STARTTLS コマンドを送信して暗号化された接続を使用するようにしてください。

関連情報

  • /usr/share/doc/dovecot/wiki/LMTP.txt