オープンソース

一覧へ

6. LDA(ローカル配送エージェント)プラグインの補足

6.1. LDAプラグインの挙動

LDAプラグインは、Dovecot等に付属するローカル配送エージェントを利用して 保存対象のメールをローカル配送します。 このため、このプラグインを利用するためには、LDAの設定が必要です。

6.2. Dovecotでの設定例

LDAとしてDovecotを利用する場合の例を記載します。

6.2.1. 想定環境

  • OS: AlamLinux 9
  • Dovecot: dovecot-2.3.16-11.el9.x86_64
  • Messasy: messasy-3.03
  • Postfix: postfix-3.5.9-24.el9.x86_64

なおMessasyやPostfixの設定は行われている前提で解説を行います。

6.2.2. Dovecotのインストール・設定

DovecotはOS標準のパッケージを利用してインストールします。

# yum install dovecot

次にDovecotのユーザDBの設定を行います。 設定のポイントとして、DovecotのLDAがメールを配送する際に ユーザの存在チェックを無効化し、対象のアドレスを一律で保存するようにしています。 これはMessasyが保存対象としたメールを全て保存するための設定です。

まずLDA配送時のstatsサービスの設定を行います。

  • /etc/dovecot/conf.d/10-master.conf
service stats {
    unix_listener stats-reader {
        user = messasy
        group = messasy
        mode = 0660
    }

    unix_listener stats-writer {
        user = messasy
        group = messasy
        mode = 0660
    }
}

次にデフォルトのユーザDBの設定を変更します。

  • /etc/dovecot/conf.d/auth-system.conf.ext
userdb {
  driver = static
  args = allow_all_users=yes uid=vmail gid=vmail home=/var/lib/messasy/%u
}

最後にメールディレクトリのパスを指定します。

  • /etc/dovecot/conf.d/10-mail.com
mail_location = maildir:~/Maildir

その他、必要に応じて認証DBやIMAP/POP等のサービスの設定を行ってください。 最後にdovecotを起動します。

# systemctl start dovecot

6.2.3. メール保存時の挙動

Messasyを経由してLDAが実行された場合、メールの保存に成功すると次のような ログが出力されます。

dovecot[10955]: lda(user01@example.com)<10955><1NYLD4tl1WbLKgAA21qmXg>: msgid=<2ac8.0003.0000@21149c04b403>: saved mail to INBOX
dovecot[10958]: lda(user02@example.com)<10958><JdneFYtl1WbOKgAA21qmXg>: msgid=<2ac8.0003.0000@21149c04b403>: saved mail to INBOX

上記設定で配送を行った場合、次のパスにメールディレクトリが作成されます。

/var/lib/messasy/user01@example.com/Maildir/
/var/lib/messasy/user02@example.com/Maildir/

6.3. LDAプラグインの注意点

  • LDAプラグインは、LDAに渡すアドレスをメールのエンベロープの情報(MAIL FROM/RCPT TO)から取得しています。このため転送など実際に送られたメールとエンベロープの情報が異なるメールでは、メールアドレス毎の保存は行なえません。
  • LDAプラグインで利用するDovecotは、メールアーカイブ専用のDovecotです。アーカイブとは異なる実際のメールサービスのIMAP/POP用Dovecotとの共存はできません。
一覧へ