Trouble Shooting Record (電子メール関連)


1. fetchmail で POP したメールの Subject が文字化けする [解決]

環境

Kernel 2.0.36 (Plamo 1.3)
fetchmail-4.7.7 + Mew-1.93 + Mule-2.3

現象

fetchmail を 4.3.2 から 4.7.7 にバージョンアップしたところ、mew の message モードで Subject が文字化けして読めない。 summary モードでは Subject も読める。 そのメールに reply すると完全に化けた Subject になってしまう。 文字化けしたメールでは Subject が生 JIS で書かれている。正しくは MIME エンコードされていなければならない (?) 。 POP する前の POP サーバーのスプールファイルを見ると、ここではちゃんと MIME エンコードされている。--> fetchmail が POP 時に書き換えている?

解決方法

~/.fetchmailrc に no mimedecode を追加する。
(man を見る限り no mimedecode がデフォルトのはずなのだが...)
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

2. fetchmail で、メールがあるのに POP できない [解決]

環境

Kernel 2.2.12 (Plamo 1.4.4)
fetchmail-5.1.1

現象

fetchmail を起動すると以下のように表示され、メールがあるにも関わらず POP できない。これら POP できないメールは、以前 Win 環境で POP サーバーから 削除しないという設定で POP したことのあるメール。
$ fetchmail
2 messages (2 seen) for fukafuka at lime.tky.plala.or.jp (4761 octets).
skipping message 1 not flushed
skipping message 2 not flushed

解決方法

~/.fetchmailrc に fetchall オプションを付ける。
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

3. CF で DEFAULT_RELAY に転送しようとすると host name lookup failure [解決]

環境

Kernel 2.2.12 (Plamo 1.4.4)
sendmail-8.9.3
CF-3.7Wpl2

現象

自ホストでは一切スプールせず、すべてのメールを別のメールサーバ (mx.hoge.co.jp) に転送するだけの sendmail の設定をするために、sendmail.def に以下のような設定 をして sendmail.cf を作成したところ、配送時に host name lookup failure となって しまい配送できない。
DIRECT_DELIVER_DOMAINS=none
DEFAULT_RELAY='smtp:mx.hoge.co.jp'

解決方法

転送先のメールサーバ (mx.hoge.co.jp) に対する MX レコードは定義されていない ため、以下のように [ ] で囲んで MX レコードを参照しないようにする。
DEFAULT_RELAY='smtp:[mx.hoge.co.jp]'
                    ~追加         ~追加
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

4. fetchmail でのメール取得時に SMTP< 451 <hoge@boo.com>... Sender dom ain must resolve [解決]

環境

Slackware 7.0 (Kernel 2.2.14 + glibc 2.1.2)
sendmail-8.9.3 (Slackware デフォルト)
fetchmail-5.3.0

現象

fetchmail でメールを POP し localhost の sendmail に渡そうとすると、 以下のエラーが発生しメールを取得できない。
$ fetchmail -v
(snip)
fetchmail: SMTP> EHLO localhost
fetchmail: SMTP< 250-hostname.mydomain.co.jp Hello foo@localhost [127.0.0.1]
, pleased to meet you
fetchmail: SMTP< 250-EXPN
fetchmail: SMTP< 250-VERB
fetchmail: SMTP< 250-8BITMIME
fetchmail: SMTP< 250-SIZE
fetchmail: SMTP< 250-DSN
fetchmail: SMTP< 250-ONEX
fetchmail: SMTP< 250-ETRN
fetchmail: SMTP< 250-XUSR
fetchmail: SMTP< 250 HELP
fetchmail: SMTP> MAIL FROM:<linux-users-admin@linux.or.jp> BODY=7BIT SI
ZE=3486
fetchmail: SMTP< 451 <linux-users-admin@linux.or.jp>... Sender domain m
ust resolve
fetchmail: SMTP> RSET
fetchmail: SMTP< 250 Reset state
fetchmail: SMTP error: 250 Reset state not flushed
fetchmail: POP3> QUIT
fetchmail: POP3< +OK Pop server at popserver.mydomain.co.jp signing off.
fetchmail: SMTP> QUIT
fetchmail: SMTP< 221 hostname.mydomain.co.jp closing connection
fetchmail: normal termination, status 0

ただし取得できないのは自ドメイン以外からのメールのみ。自ドメインが From: の メールだけは問題なく取得できる。Plamo-1.4.4 なホストで同じ ~/.fetchmailrc を用いて fetchmail (5.1.1) を実行すると、 自ドメイン以外からのメールでも問題なく取得できる。

解決方法

自ドメインの都合 (DNS を通さない F/W の中) により、自ドメイン以外の DNS を引けない環境だったのが原因。 調べてみると Slackware デフォルトの sendmail.cf では CF で言うところの USE_SENDER_DNS_CHECK=yes の状態になっているため、sendmail に受信を拒否されていた。こんな感じ。
# verify returnability of the sender address
R$*<@$*>$*            $: $(resolv $2. $: $2  $) host part
R$*                       $@ OK                                   found
R$*             $#error $@ 5.1.8 $: 553 Unreturnable address rejected
R$*             $#error $@ 4.1.8 $: 451 Sender domain must be resolved

Plamo-1.4.4 の sendmail.cf では USE_SENDER_DNS_CHECK=no だったため、 取得できていた。 という訳で、USE_SENDER_DNS_CHECK=no として sendmail.cf を作り直せば OK 。 せっかく Slackware のデフォルト設定が安全側に振ってあったのだが、 サイトの都合だ、しようがない。
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

5. Mew から GPG $r8F$S=P$;$J$$ [解決]

環境

Slackware 7.0 (Kernel 2.2.14 + glibc 2.1.2)
Mew 1.94.2
GPG 1.0.2

現象

Mew で GPG 公開鍵が添付されたメールの Application/Pgp-Keys のパートを表示した 状態で C-c C-e (公開鍵リングへの登録) しようとすると、エコー領域に PGP is not found というメッセージが表示される。

解決方法

~/.emacs に以下のエントリを追加する。 これで PGP の代わりに GPG が使用されるようになる。
(setq mew-prog-pgp "gpg")
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

6. Mew で GPG 暗号化メッセージを復号できない [回避]

環境

Slackware 7.0 (Kernel 2.2.14 + glibc 2.1.2)
Mew 1.94.2
GPG 1.0.2

現象

Mew で送信した GPG 暗号化メールのバックアップ (Fcc:) を表示しようとすると PGP decrypting ... と表示された状態で止まって (?) しまう。 C-g で中断できるが、GPG の復号化プロセスは残ったまま。

しかし、以下のように手動でやると、問題なく復号化できる。
gpg --decrypt <暗号化メール・ファイル>

解決方法

以下のリンク (Mew-dist-ML の過去ログ) から始まる一連のスレッドに情報がある (特に後者) 。
http://www.mew.org/archive/mew-dist/3300/msg04304.html
http://www.mew.org/archive/mew-dist/3300/msg09518.html

要は、Mew では暗号化メールを送信する際に
$ gpg -ea -r <自分の GPG ID> -r <送信相手の GPG ID> <メール本文&g t; としているのだが、それを復号化する際の...
$ gpg --decrypt <暗号化メールファイル>
(snip)
次のユーザのロックを解除するにはパスフレーズが必要です
ユーザ: "Seiji Fukagawa (Private) <fukafuka@lime.plala.or.jp>"
1024 ビット ELG-E 鍵, ID 2B956CC1 が作成されました 2000-08-23 (主鍵 ID 83E007A2)

gpg: 2048 ビット ELG-E 鍵, ID 26B29515 によって暗号化されました 2000-08-07
      "xxxxx xxxxx <xxxx@xxx.xxx.xxx.co.jp>"
gpg: 復号に必要な秘密鍵がありません    <--- これが問題らしい
(snip)

0.9.3 頃には、 そのメッセージが前のバージョンと違っていることが原因だったらしいが、 今回のは、gettext 化の問題。LANG=C emacs -f mew として起動すれば OK (alias gpg='LANG=C gpg' ではダメ) 。

でも、Mew-dist ML の過去ログを見ると
gpg: decryption failed: secret key not available
というメッセージを捕まえることになったらしい (GPG 0.9.3 頃の話) のだが、 LANG=C でやってみると、GPG 1.0.2 では先のメッセージは
gpg: no secret key for decryption available
となっている。むう。あのログ以降、また実装変わったのかな。
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

7. GPG で uid を削除できない [解決]

環境

Slackware 7.0 (Kernel 2.2.14 + glibc 2.1.2)
Mew 1.94.2
GPG 1.0.2

現象

鍵ペアに追加登録 (adduid) した uid を deluid コマンドで削除しようとしても、 ユーザID を指定しろと言われるだけで、削除できない。
$ gpg --edit-key <自分の ID>
gpg (GnuPG) 1.0.2; Copyright (C) 2000 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

秘密鍵が使用できます

pub  1024D/83E007A2  created: 2000-08-23 expires: never      trust: f/u
sub  1024g/2B956CC1  created: 2000-08-23 expires: never
(1)  Seiji Fukagawa (Private) <fukafuka@lime.plala.or.jp>
(2)  Seiji Fukagawa (Private) <fukafuka@fsinet.or.jp>
(3)  Seiji Fukagawa (Office) <xxx@xxx.xxx.xxx.co.jp>    <--- これを削除したい

コマンド> deluid
少なくとも 1 個のユーザ ID を選択して下さい。

コマンド> deluid 3
少なくとも 1 個のユーザ ID を選択して下さい。

コマンド> deluid xxx@xxx.xxx.xxx.co.jp
少なくとも 1 個のユーザ ID を選択して下さい。

解決方法

以下のように、まず削除する uid を uid コマンドで選択しておく。
$ gpg --edit-key <自分の ID>
(snip)
コマンド> uid 3     <--- これでまず uid を選択する

pub  1024D/83E007A2  created: 2000-08-23 expires: never      trust: f/u
sub  1024g/2B956CC1  created: 2000-08-23 expires: never
(1)  Seiji Fukagawa (Private) <fukafuka@lime.plala.or.jp>
(2)  Seiji Fukagawa (Private) <fukafuka@fsinet.or.jp>>
(3)* Seiji Fukagawa (Office) <xxx@xxx.xxx.xxx.co.jp>    <--- '*' が付いて選択された

コマンド> deluid
このユーザ ID を 本当に 削除しますか? y

pub  1024D/83E007A2  created: 2000-08-23 expires: never      trust: f/u
sub  1024g/2B956CC1  created: 2000-08-23 expires: never
(1)  Seiji Fukagawa (Private) <fukafuka@lime.plala.or.jp>
(2)  Seiji Fukagawa (Private) <fukafuka@fsinet.or.jp>

コマンド> save
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

8. Sylpheed のメニューバーが日本語化されない [解決]

環境

Plamo Linux 2.0 (Kernel 2.2.15 + glibc 2.1.2)
Sylpheed 0.3.22

現象

Plamo 2.0 でソースからコンパイルした Sylpheed のメニューが日本語化されない。 ツールバーやダイアログ等は日本語化されているのだが。 なお、Slackware でコンパイルした場合は、すべて日本語化されている。

解決方法

0.3.28 にアップデートする。
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

9. Sylpheed で BS キーが DEL キーと同じ動作になってしまう [解決]

環境

Plamo Linux 2.0 (Kernel 2.2.15 + glibc 2.1.2)
Sylpheed 0.3.22

現象

Plamo 2.0 で Sylpheed で新規メールの作成時等に BS (Back Space) キーの動作が DEL キーと同じ動作 (カーソル位置の文字を削除) になってしまう。 Slackware 7.0 では問題ないのだが...。

解決方法

xev で Backspace キー押下時の keycode/keysym を調べてみると...。
Plamo の場合はこう。
KeyPress event, serial 18, synthetic NO, window 0x3800001,
    root 0x26, subw 0x0, time 1362594646, (1,163), root:(514,250),
    state 0x0, keycode 22 (keysym 0xffff, Delete), same_screen YES,
    XLookupString gives 1 characters:  ""

KeyRelease event, serial 18, synthetic NO, window 0x3800001,
    root 0x26, subw 0x0, time 1362594803, (1,163), root:(514,250),
    state 0x0, keycode 22 (keysym 0xffff, Delete), same_screen YES,
    XLookupString gives 1 characters:  ""

これに対し、Slackware の場合はこう。
KeyPress event, serial 19, synthetic NO, window 0x6800001,
    root 0x26, subw 0x0, time 1362595186, (177,114), root:(417,619),
    state 0x0, keycode 22 (keysym 0xff08, BackSpace), same_screen YES,
    XLookupString gives 1 characters:  "

KeyRelease event, serial 21, synthetic NO, window 0x6800001,
    root 0x26, subw 0x0, time 1362595313, (177,114), root:(417,619),
    state 0x0, keycode 22 (keysym 0xff08, BackSpace), same_screen YES,
    XLookupString gives 1 characters:  "

何故こうなっているのか分からないのだが、Backspace キー押下時に keysym として Delete が発行されているのが原因。 という訳で、~/.xinitrc 等で xmodmap -e 'keycode 22 = BackSpace' を実行すれば OK 。
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

10. qpopper のログに POP EOF or I/O Error: 60 (Operation timed out) が記録され POP できない。

環境

FreeBSD 3.4-RELEASE
BIND 8.2.2-P5
qpopper 3.0.2

現象

DNS の設定を変更した直後から、一部のユーザが POP できなくなった (正確にはできるときとできない時がある。 まったく出来ないというユーザもいたのだが....) 。 この時、qpopper のログに以下のようなログが記録されていた。 なお、ここで xxx.xxx.xxx.xxx はプライベートアドレス。
Oct  4 14:48:59 pop-server popper3[53289]: EOF from  at xxx.xxx.xxx.xxx (xxx.xxx
.xxx.xxx): [0] 60
                (Operation timed out); 0 (Undefined error: 0)
Oct  4 14:48:59 pop-server popper3[53289]: (null) at xxx.xxx.xxx.xxx (xxx.xxx.xx
x.xxx):
                -ERR POP EOF or I/O Error: 60 (Operation timed out); 0 (Undefine
d error: 0)

解決方法

原因は DNS の逆引きによるタイムアウト。
# なぜ DNS のタイムアウトでユーザ名の部分が (null) になるのか、 ちょい不明なのだが。

ログからも分かるように、現環境では諸般の事情により、 問題の POP サーバを利用するユーザ (クライアント) の一部についてはその IP アドレスが DNS に登録されていない。
# そういう環境が問題だという話もあるが、私の管轄外で手がでないのよ〜。

問題発生のきっかけとなった DNS の設定変更だが、基本的には何も変更はなく、 BIND4 で運用 --> BIND8 に以降 (設定ファイルはスクリプトで変換) と運用して きたものを、細かな変更 (ゾーン転送の制限等) を施しつつ BIND8 として一から 書きおこしただけ...のつもりが
forward only; を忘れたのが敗因。
# 旧設定ファイルにはちゃんとあったのに見落とした。(;_;

問題の POP サーバが参照する DNS (実は同じホスト) は自分が解決できない 問い合わせは forwarder として親 DNS に投げる設定になっている。 本来は、問題の発生したユーザの IP アドレスはこの親 DNS サーバが解決しない といけないのだが、現状それがなされていない。 また、問題の DNS サーバは LAN 奥深くのサーバであり root サーバにはアクセス できない。

という環境で、問題の DNS の設定で forward only; を忘れたため、 自分が解決できない xxx.xxx.xxx.xxx という IP アドレスの逆引きを forwarder に 投げ、そこでも解決できないので root に問い合わせようとしてタイムアウト。 これが原因。

という訳で、問題の DNS サーバの設定に forward only; を追加することで解決。
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

11. POP 時に Unable to process From lines (envelopes), change recognition modes. [解決]

環境

Digital UNIX (4.0B)
qpopper-2.53

現象

POP 時に以下のようなログが記録されるだけで、メールを取得できない。
Jul 18 10:06:49 hfs popper[3438]: foo@foo.hoge.co.jp: -ERR
 Unable to process From lines (envelopes), change recognition modes.

telnet で POP をしゃべってみた時の様子は以下の通り。
$ telnet pop-server pop3

Trying xxx.xxx.xxx.xxx...
Connected to pop-server.hoge.co.jp.
Escape character is '^]'.
+OK QPOP (version 2.53) at pop-server-hoge.co.jp starting. <4720.963885344@pop-s
erver.hoge.co.jp>
user foo
+OK Password required for foo.
pass xxxxxxx
-ERR Unable to process From lines (envelopes), change recognition modes.
+OK Pop server at pop-server.hoge.co.jp signing off.
Connection closed by foreign host.

ソース (pop_dropcopy.c) をみると、以下のところで引っかかっているらしい。 ところで MMDF って何?
    /* Is this an MMDF file? */
    if (*buffer == MMDF_SEP_CHAR) {
        p->mmdf_separator = (char *)strdup(buffer);
    } else if (!isfromline(buffer)) {
        return pop_msg (p,POP_FAILURE,
          "Unable to process From lines (envelopes), change recognition modes.")
 ;
    }

解決方法

INSTALL ファイルに記述があった。
If you get the following message: Unable to process From
lines (envelops), change recognition modes.

This indicates that your mailbox is corrupted; that is, the
first line which includes the From header or MMDF separator
is not recognizable. Or there may be a From line displayed
that has never appeared before.  Edit the mail spool file
and send the first line.  If the first line is blank, then
remove it until you reach the From line.

なるほど。が、/var/spool/mail/foo を空に作り直したりしてもダメ。 ふと、/var/spool/mail/fukukawa.pop というファ%$%k$,$"$k$3$H$K5$$E$$$?!# これを消してからやってみるが... ダメ。
-ERR Unable to process From lines (envelopes), change recognition modes.
が表示された時点で、また生成されている。

/var/spool/mail/foo が空 (0 バイト) の状態で foo 宛てにメールを送ってみる。 配送には問題ないが、何故かファイルの先頭に空白行が入っている。

ここで /var/spool/mail/foo を編集し、先頭の空白行を削除すると OK 。 無事 POP できるようになった。また、以後は foo 宛てにメールを送っても先頭に 空白行が入ることはなくなった。何故?? うーむ。いまいち原因がわからんが、 とりあえず解決...??
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

12. poprelayd が管理する認証データベースに登録されているのに Relay Operation Rejected. [解決]

環境

FreeBSD 3.4-RELEASE
sendmail-8.9.3/3.7W
CF-3.7Wpl2
qpopper-3.0.2

現象

poprelayd を利用し POP before SMTP を設定したが、 POP 後、poprelayd が管理する認証データベースに登録されている間に メールを送信しようとしても、Relay Operation Rejected となってしまう。
認証データベースは hash 形式 (Berkeley db) であり、sendmail もちゃんと サポートしている。poprelayd の設定にも問題はない。 問題のクライアントを localip として登録すると問題ないことから、 sendmail の relay 設定にも問題はない。

解決方法

poprelayd の設定のために sendmail.cf へ追加するルール (参照: Install Memo - poprelayd) を、 Scheck_rcpt ではなく Scheck_mail ルールセットの一部として設定していたのが原因。 正しく Scheck_rcpt の位置に設定することで解決。
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

13. 送信したメールに Sender: フィールドが付加されてしまう [解決]

環境

Slackware 7.0 (Kernel 2.2.17 + glibc 2.1.2)
Emacs-20.7
Mew-1.94.2
im-1.30

現象

新しいネットワーク環境において新しいメールアドレスをもらい、 そのアドレスからメールを送信すると、送信されたメールに以下のような Sender: フィールドが付加されてしまう。
なおこの時、ローカルホストのログインアカウント は foo、 新しくもらったメールアドレスは foobar@hoge.co.jp 。
Sender: Foo Bar 
                 ~~~

解決方法

~/.im/Config の User エントリ (今までコメントアウトされていた) に foobar を設定すると OK 。
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

14. GPG 暗号化メールの送信時に No his/her public key. [解決]

環境

Slackware 7.0 (Kernel 2.2.17 + glibc 2.1.2)
Emacs-20.7
Mew-1.94.2
im-1.30
GnuPG-1.0.4

現象

GPG 暗号化メールを送ろうと C-c, C-e すると、 ミニバッファに以下のメッセージが表示され送信できない。
No his/her public key.

もちろん送信相手の公開鍵はちゃんと持っている。 gpg --list-key でもちゃんと表示されている。 試しに自分宛に暗号化メールを送ろうとしてみても同じ現象。あれれ...。 以前はちゃんと送れていたのだが...。

なお C-c, C-s (署名) または C-c, C-b (暗号化 & 署名) だと以下のメッセージ。 う〜ん。どーして〜。
Opening input file: no such file or directory, /tmp/foo?????/mew??????.asc

解決方法

No.13 とも関係するのだが、送信時に利用している (From: の) メールアドレスは 新しいものであり、まだそのアドレス用の鍵ペアを作成していなかったのが原因。 今の From: アドレス用の鍵ペアを作った後だと OK 。
それにしても、暗号化メールの送信時ならば、自分の公開鍵は関係ないような気も するのだが、そーゆーものではないらしい。にゅ。
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

15. GPG でメールに署名しようとすると PGP signing... で止まってしまう

環境

Plamo Linux 2.0 (Kernel 2.2.17 + glibc 2.1.2)
Emacs-20.7
Mew-1.94.2
im-1.40
GnuPG-1.0.4

現象

GPG 暗号化 & 署名メールを送ろうと C-c, C-b するとミニバッファに以下のメッセージ が表示されたまま止まって (?) しまう。C-c, C-s (署名のみ) でも同じ現象。 C-c, C-e (暗号化のみ) は問題なし。
PGP signing ...

この時、以下のプロセスが実行中 (後半は途切れて読めない) 。 もちろん ~/.emacs に (setq mew-prog-pgp "gpg") を設定しており、GPG そのものは 間違いなく利用できているのだが...。
 5816  ?  S    0:00 /usr/local/bin/gpg --detach-sign --armor --local-user foo...

解決方法

Help me!
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

16. ログに My unqualified host name (xxxxx) unknown ; sleeping for retry

環境

Solaris 8

現象

ログファイルに定期的に以下のようなメッセージが記録され、 Sendmail が正常に動作しない (xxxxx はホスト名) 。
Jun 29 12:00:00 warpco sendmail[4258]: My unqualified host name (xxxxx) unknown ; sleeping for retry
Jun 29 12:01:00 warpco sendmail[4258]: unable to qualify my own domain name (xxxxx) -- using short name

解決方法

/etc/hosts に nickname しかなかったのを FQDN も追加する。
111.222.333.444        xxxxx.hoge.co.jp xxxxx
                       ~~~~~~~~~~~~~~~~ 追加
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

17. Postfix のメールログに "NIS domain name not set - NIS lookups disabled"

環境

Plamo Linux 2.2.1 (Kernel 2.2.19 + glibc 2.2)
Postfix 1.1.11

現象

メール送受信時に以下のメールログが記録される。
Aug 26 06:00:07 sushi postfix/local[17590]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled

解決方法

まず、デフォルトの設定がどうなっているか調べてみる。
# /usr/local/postfix/postconf | less
(snip)
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases, nis:mail.aliases

ふむ。alias_maps に nis が設定されているのが原因らしい。 このホストでは NIS は使っていないので無効にする。 /etc/postfix/main.cf を以下のように修正。
#alias_maps = dbm:/etc/aliases
alias_maps = hash:/etc/aliases        <--- 行頭の # を削除して有効にする
#alias_maps = hash:/etc/aliases, nis:mail.aliases
#alias_maps = netinfo:/aliases

最後に /usr/local/postfix/postfix reload を実行しておしまい。
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

18. fml.pl で Sequence (?<...) not recognized. [解決]

環境

Solaris 2.5.1
Postfix 1.1.12
fml-4.0-stable-20030510

現象

Solaris 2.5.1 に fml-4.0-stable-20030510 をインストールし、作成した ML にメールを送ると、次のエラーが出て動作しない。
: Command died with status 255: "/usr/local/fml/fml.pl
    /var/spool/ml/hoge ". Command output: Sequence (?<...) not recognized at
    /usr/local/fml/fml.pl line 701.

解決方法

Perl を 5.003 から 5.8.0 に入れ換えたら解決。
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

19. Procmail ログに "Extraneous locallockfile ignored" [解決]

環境

Plamo Linux 2.2.1 (Kernel 2.2.19 + glibc 2.2)
Postfix-1.1.12
Procmail-3.22

現象

Procmail ログに次のメッセージが表示される。
procmail: Extraneous locallockfile ignored

解決方法

次のようなレシピを書いていたのが原因。
http://lists.debian.org/debian-user/2001/12/msg02479.html
:0 :       <--- ここにロック指定を書くのがダメ
* ^Subject: hoge
{	:0
	| /usr/local/bin/original_filter

	:0
	! foo@example.co.jp
}

こう書けば OK 。
:0
* ^Subject: hoge
{	:0 :     <--- ここに書く
	| /usr/local/bin/original_filter

	:0
	! foo@example.co.jp
}
[ 先頭 | 末尾 | 戻る | トップページに戻る ]

20. Procmail ログに "Couldn't determine implicit lockfile from" [回避]

環境

Plamo Linux 2.2.1 (Kernel 2.2.19 + glibc 2.2)
Postfix-1.1.12
Procmail-3.22

現象

Procmail ログに次のメッセージが表示される。
procmail: Couldn't determine implicit lockfile from "/home/foo/bin/filter.rb"

この時のレシピは次の通り。
:0 :
* ^Subject: hoge
| /home/foo/bin/filter.rb

解決方法

何故か LOCKFILE=/home/foo/.procmail.lock を指定しても効かないので、 次のように記述することで回避。
:0 :/home/foo/.procmail.lock
* ^Subject: hoge
| /home/foo/bin/filter.rb

注: このような指定と LOCKFILE を同時に指定すると "Deadlock attempted on "/home/foo/.procmail.lock" と言われちゃうので、 LOCKFILE の指定はしないこと。
[ 先頭 | 末尾 | 戻る | トップページに戻る ]