procmailかませるとmbox形式になってしまう

 レンタルサーバの移行作業してます。

 ちょっと躓いた事があったのでメモ。

 postfix + dovecotという構成で、久しぶりにメールサーバを新規構築。
 procmail使うので、.forwardでprocmail咬ませた途端にメールが到着しなくなった。

 maillog見てみると、何故か/var/mail/にmbox形式のファイルを作ろうとしている。

1
2
can't create user output file.
Command output: procmail: Couldn'
t create "/var/mail/xxx"

 postfix的には、Maildir形式で、保存先は~/Maildirになっているのに。

 .forwardを無効にすると、~/Maildirに到着する事から、procmailを通過した後、mbox形式で保存しようとしているようだ。

 色々と検索してみる。

「困ってます。メールが届きません。Couldn’t create…」

同じ症状かもしれない人がいた。
途中、親切な人が「procmailにSetUIDしてみて」と教えていて、

「試したらエラーにならなくなったけど、メーラで受信しても受信しない。.forwardで携帯に転送するのは成功しているのに」

とある。
ああ、これは、メーラでの受信は~/Maildirを参照しているのに対し、実際のメールは/var/mailにmbox形式で保存されているからだ。同じ症状だね。

 そのスレッドの結末は、.procmailrcにMAILDIRとDEFAULTを定義する事で解決していた。

 移行元のサーバでは、/etc/procmailrcにMAILDIRとDEFAULTが定義されていた。
 移行先のサーバでは、/etc/procmailrcそのものがない(yum installで作られなかったのかな?)。

/etc/procmailrcを生成し、以下を記述して解決。

1
2
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR

Kyle D. Dent/菅野 良二
オライリージャパン (2004/08)
Related Posts

Comments are closed.