Courierが利用するaliases.datの中身を確認する

1. Courierのaliasシステム

現在、メールのMTAとしてcourierを利用している。courierさんはメールを配送する際、aliasというメールアドレスに別名を付ける仕組みを持っている。

この仕組みがあると仮想的にメールアドレスを増やせたりして結構便利だったり。もともとsendmailにあったものをそのまま引き継いでいるような。

で、このaliasを利用するにはちょっと一癖ある。

2. aliasはaliases/にある

aliasの情報はcourier/aliases/に置いているテキストファイルで構成される。

shell> more aliases/example.com
# root
[email protected]: [email protected]
[email protected]: [email protected]

[email protected]: [email protected], [email protected]
shell> makealiases

このファイルを利用するには権限を持ったユーザで “makealiases” を実行する。するとaliases.datが生成される。

権限を持ったユーザとは、courierディレクトリにaliases.datを作成出来るユーザ、という意味。

参考サイト: makealiases | courier-mta

3. aliases.datの中身

aliases.datはBerkley DBフォーマットのファイルだ。そのままでは直接中身を見ることはできない。

Berkley DBはインデックス機能とかもっててちょっと優れた機能だけれど、正直テキストファイルのまま管理した方が楽そうな気もする。たぶんsendmailからの歴史的経緯じゃないかな、とか。

で、この中身を確認するすべについてやってみた。

shell> file aliases.dat
aliases.dat: Berkeley DB 1.85 (Hash, version 2, native byte-order)

shell> db_dump185-4.2 -p aliases.dat

format=print
type=hash
h_ffactor=65536
db_lorder=1234
db_pagesize=16384
HEADER=END

[email protected]
[email protected]\0[email protected]\0a
[email protected]
[email protected]\0[email protected]\0a

…(略)…

dumpするコマンドは db_dump185という、db_で始まるコマンド系が利用可能らしい。

du_dump185-4.2は -p オプションを付けないとハッシュ化されたような出力になってる。

ダンプされたデータは改行とバックスラッシュ0、aで区切られたフィールドで構成されている。

で、コレで内容をちゃんと確認できる。

コメントを残す