sieveconfig
メールの転送
講座のメールサーバーを更新するというので(ホントは私が言い出したのだけど)、 MacProを購入して、OS X Serverを入れる。
5年以上使ってきたサーバーはまだ元気に動いてはいるものの、 すでにOSは2世代前(FreeBSD 4)だし、ハードディスクなどの故障も 心配な時期に差しかかっている。 手慣れていて、管理の手間の要らないシステムということで、 講座にもMac OS X Serverを導入することにした。
通常の設定はさくさくとこなし(これまで苦労したいくつかのバグはすでにfixされていた)、 メールサーバー機能を設定する。
たいしたことはないな、とタカをくくっていたら、やっぱりAppleらしいバグに遭遇した。 各ユーザーのメール転送やフィルタ設定はsieveを使っていただくのが標準仕様らしいので マニュアルのとおり
- /etc/services に sieve 2000/tcp を追加して(callbackはコメントアウト)
- サーバ管理でメールサーバーを再起動
- /usr/bin/cyrus/test/sieveshell コマンドで sieve スクリプトを登録
とやろうとしたところが、
connecting to localhost dyld: lazy symbol binding failed: Symbol not found: _init_net Referenced from: /System/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/Cyrus/SIEVE/ managesieve/managesieve.bundle Expected in: dynamic lookup dyld: Symbol not found: _init_net Referenced from: /System/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/Cyrus/SIEVE/ managesieve/managesieve.bundle Expected in: dynamic lookup Trace/BPT trap
と、しっかりエラーになる。OSに最初から入っているスクリプトが動かないなんて・・・・
Cyrus関係を入れ直す根性はないので、アップルがbugfixするまで、別の方策を考えることにしよう。
Sieveの文法:http://www.ietf.org/rfc/rfc3028.txt
とりあえずの .forward
メールの転送設定をしたい人は多いと思うので、とりあえず、/etc/postfix/main.cf をエディタで開き
allow_mail_to_commands = alias,forward,include
を書き加えておく。各ユーザーのホームディレクトリに置く.forwardの中身は、こんな感じ
\foo,foo@naninani.phys.tohoku.ac.jp
Keyword(s):
References: