何やら寒いなぁと思いながら歩いていたら、雪がちらつきました。直ぐに止んでましたけどね。
■ .forwardの書き方
単純にメールアドレスを記入するだけでそのアドレスに転送されるのですが、今回はprocmailへメールを中継するのでそれを記述する必要があります。で、来たメールをとりあえず全てを残し、ついでにuser@exsmple.co.jpへ転送し、procmailへも渡す。そんな感じだと
\POPアカウント user@exsmple.co.jp "|exec /usr/local/bin/procmail #ユーザ名"
で良いようです。3行目の部分をprocmailの"forward"サンプルを元に書き直すと
"|IFS=' ' && p=/usr/local/bin/procmail && test -f $p && exec $p -Yf- || exit 75 #ユーザ名"
となります。
あちこちをぐぐって、本をペラペラめくってみたところ上記のような意味らしい。で、必要の無さそうなところを省いてしまう、つまり「procmail自体が存在しないことは想定外」「-Yのオプションは関係無さそうなので取り外す」で、そうすると、
"|IFS=' ' && exec /usr/local/bin/procmail -f- || exit 75 #ユーザ名"
のようになって、procmailの解説で良く目につく書き方になる。
■ .procmailrcの書き方
.forwardによってprocmailに引き渡されたメールを今度は必要なモノだけを濾し取らなければなりません。一般的にSPAMをフィルタリングするために使われたりするんで、結構細かく設定することができるようです。その設定を記述するファイルがレシピファイルと呼ばれています。ファイルは".procmailrc"で$HOMEに置きます。
今回の目的は、普通のメールではなくて「携帯からのmailで更新したい」ということ。procmailは、メールのヘッダと本文、どちらも濾し取る条件として使うことができる。本文部分はココへの書き込みに使うため更新メールであることを示す特別な文字を入れることは避けたい。ヘッダ部分を条件に使う。
レシピファイルは基本的に環境変数の部分とフィルタリング処理を記述したレシピの部分の2つに分かれます。重要なのはレシピの部分。その書式は、
#コメント :0 [<フラグ>][:<ロックファイル名>] <条件文・1行1条件・0行以上> <アクション・1行>
となります。サンプルとして、
# SAMPLE :0 H : * ^From: user | /bin/posttdiary.rb
というような感じになる。