ログ日記

作業ログと日記とメモ

転送設定が解決した

やっと仕組みを理解した。

dbmail-users -a username
dbmail_usersとdbmail_mailboxesにデータを作成する
dbmail-users -c username -s alias
dbmail_aliasesにdbmail_mailboxesに対応するデータを作成する
dbmail-users -x username -t forward
dbmail_aliasesに転送メールアドレスを追加する


で、次に配送手順。

  1. ユーザ名をdbmail_aliasesテーブルから検索する
    • データが存在する
      • 配送(複数の場合は、その全てに配送)して終了
  2. dbmail_usersテーブルを検索する
    • データが存在する
      • 配送(一ユーザ)


ゆえに

dbmail-users -a username
dbmail-users -x username -t forward

とやっただけでは dbmail_aliases テーブルのforwardが優先されるので、ローカルには配送されない。
そこで

dbmail-users -a username -s username
dbmail-users -x username -t forward

のようにユーザ名と同じエイリアスデータを作成する。エイリアステーブルの検索結果が複数あった場合はその全てに配送されるので、これでローカルと転送先の両方に配送できる。


エイリアスのデータは

   alias   | deliver_to
-----------+------------
 aliasname | 1
 forward   | othername

のように格納されているので、エイリアス後に転送は行われない。上記の1というのはmailboxのidで直接そこに格納される。