この間の続き。以下はドキュメントを読んだ時点での感想。(まだ動かしてない)
getmail は MDA 要らずで pop3/imap4, mbox/Maildir 対応
取得プロトコルは置いとくとして。
まぁ通常の Unix 系のホストならローカルメール配送用のプログラムが何かしら動いているのでこれはたいしたメリットにはならないんだけど、特定用途に特化しているとか、わけあって cygwin 上で動かしますとか、そういう場合に便利そう。独自に filter の呼び出しができるので振り分けとか意外と細かいことができると思う。
ただし転送したい場合はたぶん MDA が必要なので、あれもこれもやりたいという場合には最初から MDA と組み合わせてそっちで行うべきなんだろう。
Python が立ち上がるのはどうかとも思ったが、逆に Python が動けばよいのでプラットフォームの自由度は上がっている気がする。細かい処理はあとで考えるとしてとりあえずメールを取ってくるだけに集中するならこれさえあれば済む、というのはなかなか魅力かも。
maildrop は記述が Perl っぽい
お次は MDA の maildrop. さかんに一時ファイルを作ってメモリを節約してますよ、と謳っている。
好き嫌いは分かれると思うが、procmail の書き方よりはまだ Perl っぽい方が楽な気がする。PCRE を使っているので条件を記述する際に悩まなくていいのが嬉しい。(謎のオレ正規表現とか実装されちゃうと仕様がよく分からなくてつらいって意味。)
フィルタとしては Lens も捨てがたい
それは Ruby で書かれているので簡単に POP before SMTP 対応や submission 対応にできるから。これ、何が大切かと言うと、forward の自由度が上がるってこと。
いやね、監視したいサーバが内部向けのサーバで、自分たちの自由にできる環境に固定 IP で逆引きもできる SMTP サーバが立てられない場合とかあるでしょ?1 そういう場合、システムからのアラートメールを自分(携帯とか)宛に転送しようと思っても最近は outbound port25 block で submission 使ってね、なわけですよ。さてどうする?と。こんなとき、Lens の smtp の部分をちょこっと書き換えれば ok っていうのはかなり便利だと思うんだな。
ところで今週末は時間が取れないから作業はしばらく先になっちゃうんだなぁ。残念。
SMTPクライアント
[2007-02-08 追記]
Lens 改造にこだわらなくても LightWeightSmtpClients - mutt-j wiki などの情報をもとに SMTP クライアントを利用すればよさげ。見た感じ msmtp が
- システムワイドの設定とユーザー独自の設定の二段構えにできる
- ファイルにも syslog にもログを吐ける
など、取り回しよさげな雰囲気。
以前は SMTP サーバが relay の際に SMTP-Auth で認証を受ける SMTP クライアントになってくれれば、内部に relay 用のサーバを一つ立てるだけで済むのにと思っていたんだけど2、考えたら「その際、認証に利用するアカウントは誰のものを使うんだ?」という問題もあるのよね。まぁシステム丸ごと管理してるから外部に投げたいんじゃいということであれば、組織の管理用アカウントを使えばいいのかなとも思うところだけれども3。
ユーザー独自の設定つっても root 権限持ってる人はその気になればパスワード覗き見できるので、それもどうだという感じはあるかもしれないけど、その辺は個人アカウントと管理者アカウントを分けるとか運用でカバーしろということでいいかな。用途が用途だけに生パスワードを書かなきゃならないかどうかなんてあんまり気にならないな。
cf.