トップ «前の日記(2007-04-27(金)) 最新 次の日記(2007-04-29(日))»

hΛlの使ってるアプリ関係のメモ

>>hΛlの女好き日記

2007-04-28(土)

procmail の -f オプション - Unix From が消えた!

そういうわけで、Hyper Estraier での検索にかなり満足してるワタクシですが、その前に、xyzzy の KaMailV3 に本格移行しようかなと思ってた期間があって、そのときに、最初、Gnus でのメールの取得に使ってた fetchmail と procmail をそのまま xyzzy でも使おうと思って、いろいろと書き換えたりしてたんですよね。結局、V3 でそのまま使うと、MIMEヘッダがビュー画面ではデコード表示されない(サマリー画面ではOK)という問題があるのがわかって、POPFile + SSL(gmail取得用) + avast! に切り替えたんですが、その間の「弄り」でなにかやっちゃったらしくて、結局、Gnus が一番と思って帰ってきたときには、今度は、Gnus でのメールの取得に問題が生じていたと。どんな問題かというと、procmail によって配送されたメールが、たとえ、複数のメールであっても、一通と認識されちゃって、一つのメールに複数の内容がダダダーッと繋がって書かれたものが取り込まれちゃうんですね(涙)。こんなとき、ハサミでメールとメールの間をチョキチョキ切れたらどんなに楽か(涙)。で、原因なんですが、procmail がデフォルトのディレクトリに配送した mbox形式のファイルの中の夫々のメールの区切であるはずのところの Unix From(「From (From:じゃないよ)」参照) がないんですよ! ということは、それを、目印にして、分割して取り込む Gnus の機能も当然出番はないわけで、つまりは、実際は、10通あろうが20通あろうが、1通としてしか認識しない。そういえば、Unix From を変換した Gnus 独自のヘッダ(X-From-Line:)が、それらには、入ってなかったもんね。

それじゃ、なぜ、Unix From が入ってないのかというと、これはもう、procmail が入れてないというその事実があるのみなわけで。そこから、さらに原因を探求していく過程で、woman procmail して、procmail のオプション、 -f の項目に注目。

-f fromwhom
fromwhom を送信者(sender)にして、先頭の `From ' 行を再作
成する(-f の代わりに、今では使われなくなっているが -r が
使用できる)。fromwhom が `-' 1個だけの場合、procmail は
`From ' 行のタイムスタンプの更新のみ行う(これはタイムス
タンプが存在する場合である。なければ新たに作成する)。

これ使えば、なんとか Unix From を復活できるかも。ということで、procmail のオプションに -f (自分のアドレス) を付けてみたら、ちゃんと From が入って、メールの分割配送もできました。でも、本当は、例え、捨てヘッダでも、送信者はメールの実際の送信者にしておきたいし、ということで、そのあたりの変数についての情報を、さらに探してたら、[linux-users:98424] fetchmailrc の'%F'についてというのを発見。これだ、ドンピシャ。しかも、fetchmailrc の中で procmail を呼び出す場合、fetchmailrc 自動作成スクリプトの fetchmailconf では、デフォルトで '-f %F' をつけてるとか(私はサンプルを見ながら手書きで作成してた)。これを書いた人は、そんなのなくても、From はちゃんと入ってくるし、なぜ、オプションを書く必要があるのか疑問と書かれてたんだけど、私の場合は、まさに、今まで、書かなくても入ってたものが、突然、入らなくなっちゃったわけで(笑)。ということで、呼び出してる fetchmailrc の中の procmailコマンドの行に '-f %F' をつけたら全て解決。cygwin の fetchmailrcconf で作り直してみて、以下に貼ったような形になりました(mdaの行)。弄りの最中に、何やったかなァ、自分。

# Configuration created Fri Apr 27 06:18:48 2007 by fetchmailconf 1.52 $Revision: 4740 $
set logfile "/var/log/fetchmail.log"
set postmaster "hal"
set nobouncemail
set no spambounce
set properties ""
poll mail.sample.com with proto POP3
       user 'watakushi_no_user_name' there with password 'watakushi_no_password' is 'hal' here options flush fetchall no rewrite stripcr
 mda '/usr/bin/procmail -p -f %F "$HOME/.procmailrc"'

poll pop.gmail.com with proto POP3 service 995
       user 'google_user_name' there with password 'google_password' is 'hal' here options flush fetchall no rewrite stripcr ssl sslproto 'tls1' sslcertck sslcertpath '/usr/local/halCA/certs'
 mda '/usr/bin/procmail -p -f %F "$HOME/.procmailrc"'
Tags: Gnus procmail
[]

最近の日記
最近のツッコミ
最近のtrackback
  1. エンジニアでありたい人の日記:[misc] sitema.. (2008-04-23(水) 21:56)

  

トップ «前の日記(2007-04-27(金)) 最新 次の日記(2007-04-29(日))»