                トラブルシューティング

とりあえずエラーメッセージにでてくる単語でサーチをしてみて、ドキュメン
トのエラーリストなりに事例がないかを調べて下さい。
	http://www.fml.org/fml/search-j.html

動作テスト、過去数年間の代表的なトラブルの事例とその解決方法は
書籍「fml バイブル」（オライリージャパン刊）中で詳しく扱っています。

	http://www.fml.org/fml/treking_guide.ja.html

うまくいかない場合には、以下のチェックリストに沿って設定を確認し、
	http://www.fml.org/fml/CHECK_LIST/

www.fml.org のサーチエンジンで過去に似たような事例がないかを
検索して下さい。
------------------------------------------------------------
1	トラブル事例の概要
1.1	OSの問題
1.2	メールサーバの問題
1.3	FML自体の問題
1.4	質問やバグレポートの際のお願い

2	makefml のだすエラーメッセージ
2.1	Please check the group permission in /var/spool/ml

3	CGI
3.1	管理者パスワードを忘れました。
3.2	elena ML のCGI メニューにはいるパスワードを忘れました。
3.3	newaliases を実行すると permission denied といわれる
3.4	apache の permission の問題で動かない？
3.5	symlink ?
3.6	WWWでＭＬを作成したが、aliases のエントリがちゃんとUPDATEされてない？
3.7	Invalid command 'SSLRequireSSL'

4	メールサーバの問題
4.1	エラーメールの例
4.2	典型的なエラーメール
4.3	Can't locate getopts.pl in @INC at makefml line 104.	
4.4	:include: がうまく動かない場合 (/etc/aliases)
4.5	553 machine-name host name configuration error
4.6	Executable files not allowed 
4.7	Insecure dependency in chdir, Permission denied, ... 
4.8	sh: fml.pl not available for sendmail programs
4.9	:include:何か is unsafe for mailing to program ...
4.10	include's owner != config.ph's owner.
4.11	/var/spool/ml/src/fml.pl: permission denied
4.12	550 User %s@%s doesn't have a valid shell for mailing to programs
4.13	sh: /var/spool/ml/src/fml.pl: No such file or directory
4.14	sh: /var/spool/ml/src/fml.pl: command not found

5	主にメールソフトにまつわる話
5.1	Microsoft Exchange で [Elena:数字] が消える
5.2	cc:Mail でのトラブル その１
5.3	cc:Mail 事件 そのN(泣)
5.4	Re: でなく Re[2] 等の変換を勝手にやるらしいクライアント
5.5	References を最後の値だけにする
5.6	AL-Mailを使うとループ・アラートが出る？場合
5.7	Eudora と Reply-To: 
5.8	Return-Receipt-To:事件と cc:Mail等ＭＵＡ
5.9	i-mode ではだめ？

6	典型的なエラーリスト
6.1	perlのだしているエラー
6.2	MTAのエラー

7	おもに fml そのもの
7.1	user@domain でないと自動登録できない
7.2	log ファイルに残る 550... みたいな数字は何？
7.3	WARNING: UNIX FROM Loop
7.4	Try mci:prog since smtp connections cannot be opened
7.5	The flock() function is unimplemented ...
7.6	503 Need RCPT (recipient) 
7.7	fml.pl はうごくのに msend.pl とか cron.pl とかはちゃんと動かない
7.8	まとめおくりの設定を手でしたらだめ？
7.9	EUC のファイルを perl はバイナリと認識する?
7.10	lha または ish が見つからない…
7.11	MLとWWWのマシンが別々の場合なのでトラブリます;)
7.12	Can't locate sys/socket.ph in @INC
7.13	You should install sys/socket.ph using h2ph.

8	Header
8.1	メールサーバがグリニッジな時間をつけてるぞ！
8.2	ヘッダの時間がおかしい?
8.3	Received: from  (localhost.変なドメイン) by ...
8.4	JST問題

9	古い記述(か？)
9.1	ガイドとかが なぜか返送されない（no file in Sub SendFile[logfile]）
9.2	記事番号が変わらない。seq file の中が数字で一杯です…
9.3	PC-VAN がちゃんとうけとってくれない 事件
9.4	自動登録したときにファイルが送られない事件 (fml 1.6 〜 1.6.1?)
9.5	bin/expire.plで“N個のファイルを残す"のを間違えます
9.6	ファイルがちゃんとおくりかえされない(自動登録とかガイド請求の時)
9.7	[X-ML-NAME:ID]日本語の題名[X-ML-NAME:ID] 
9.8	'macro:s'
9.9	Can't locate auto/Socket/AF_INET.al in @INC at libsmtp.pl ...

10	OSごとのインストールの注意
10.1	4.4BSD derived systems
10.2	NetBSD
10.3	OpenBSD
10.4	FreeBSD
10.5	Debian/linux
10.6	BSD/OS 3.0, 4.0
10.7	BSD/OS 3.0 以前
10.8	4.3BSD
10.9	SUN OS 4.1.3
10.10	HP-UX 9?
10.11	SGI Indy (IRIX5.3)
10.12	UXP/DS V20L10(SVR4.2)
10.13	AIX 4.2
10.14	Solaris 2.4 でプロセス間通信がうまくいかない
10.15	Solaris 2.3 (SUN OS 5) で flock がうごかない
10.16	DEC alpha(OSF1 V3.0)上の perl4 で config 等が動かない
10.17	article ID duplication error 
10.18	perl 5.003 flock と そらりす 2.5 2.5.1 ?

11	misc
11.1	gen_summary.pl
11.2	アップグレードしたら mget などがうまく動かなくなった
------------------------------------------------------------


1	トラブル事例の概要

トラブルといっても内容は多岐に渡ります。

1.1	OSの問題

典型的な例は
	「permission がない」
	「OS のディレクトリ permission の設定がおかしい」
	「附属のパッケージがおかしい、ソースから作り直すべき」
などです。OS 特有の設定や、おまじないが必要な場合もあります。

詳細: 10 参照

1.2	メールサーバの問題

メールサーバの設定がおかしいため、エラーになることがあります。単に OS 
の出荷(初期)設定がおかしいために、メールサーバが正しく動作しないことも
よくあります。

典型例は(OSとだぶりますが)
	「OS のバージョンアップをしたら smrsh になっていた (redhat > 5.2 ?)」
	「ディレクトリの permission がおかしい」
などです。

詳細: 4 参照

1.3	FML自体の問題

特定のバージョンでだけ失敗する。
	もっと新しいものを使ってみてください
	bug report をください

1.4	質問やバグレポートの際のお願い

ログなりがないと答えようがありません。

チェックしてみてほしい項目はここです。

	http://www.fml.org/fml/CHECK_LIST/

c.f. OS依存性: 10

2	makefml のだすエラーメッセージ

2.1	Please check the group permission in /var/spool/ml

owner,group のことではなくて group writable "permission" がやばいとい
う警告です。

1. もし意図的にそうしていて、それを許す設定が MTA にあるのなら無視して下さい

2. もし、意図せず、このような↓ことになっているなら group writable を
   はずしてください

>drwxrwxr-x  3 fml   fml    512 Jun  7 23:39 .
>drwxrwxr-x  7 bin   mail  7168 Jun 13 16:07 ..
>drwxrwxr-x  2 root  fml    512 Jun  7 23:39 etc

      ↑ここ

	# chmod g-w /var/spool/ml 

などとします。

NOTE: group writable のために動かずに悩む人がいるので FYI?/ warning?
      として出しています。

3	CGI

3.1	管理者パスワードを忘れました。

makefml admin.cgi config

	MENU -> CHANGE PASSWORD

3.2	elena ML のCGI メニューにはいるパスワードを忘れました。

makefml ml-admin.cgi elena config

	MENU -> CHANGE PASSWORD

3.3	newaliases を実行すると permission denied といわれる

Sendmail の場合 root プロセスが

       /etc/aliaes.db  /var/spool/ml/etc/aliases.db

というファイルを更新します。sendmail を使う場合、最初に一回  

       /etc/aliaes.db  /var/spool/ml/etc/aliases.db

をオーナ root で作っておいてください。

    FYI:
    逆に CGI を使う時、MTAが postfix なら次のように設定しています。
    この場合は それぞれの .db を作る担当のユーザが別々です。
    
    /etc/aliaes
    	fml はさわらない
    
    /etc/aliaes.db
    	オーナーは root 
    
    /var/spool/ml/etc/aliases
    	fml はここだけを編集する
    
    /var/spool/ml/etc/aliases.db
    	オーナーは fml
    	fml CGI はこの db だけを作り直す
    
    になります。

3.4	apache の permission の問題で動かない？

apache の /usr/local/apache/logs/errors_log ですでにエラーメッセージが
でている場合、fml の CGI 自体が実行できていません。それは apache の設
定の問題です。

まず apache は default では nobody で動いています。fml のインストール
ガイドは fml というユーザでインストールすることになっています。このま
までは、fml の使うディレクトリへの読み書きができません。

そこで、まずユーザを統一して下さい。例えば

	httpd.conf を User fml

	/usr/local/fml 以下を owner fml
	/var/spool/ml  以下を owner fml

に統一して実験して下さい。(逆に nobody に統一でもいいですが、とにかく
統一しないと)
＃ 例: chown -R fml /usr/local/fml /var/spool/ml

これで動かないなら別の動かない理由があります。

専用サーバでない場合は、apache をもう一つつくって別のポートであげて実
験するなりしてうまくいくとを確認した後に suexec なりを検討するべきでしょ
う。

3.5	symlink ?

/usr/local/www/cgi-bin/fml は /usr/local/fml/share/cgi-bin/fml への 
symlink ですか？ apache のCGI関係の設定例で symlink はデフォールトでは
ないです。Options FollowSymLinks 

3.6	WWWでＭＬを作成したが、aliases のエントリがちゃんとUPDATEされてない？

注意: 以下はたまたま solaris 2.6 の例

◯ fml 側の確認

1. /var/spool/ml/etc/aliases に作成したＭＬのエントリがあるかどうかを確認する。

2. /var/spool/ml/etc/aliases.db の日付を aliases と比べて下さい。
   aliases を実行しているのなら .db のほうが新しい(か分の精度で同時刻)はずです。
   ソラリスなんかだと Berkeley DB ではなく
	/var/spool/ml/etc/aliases.pag
	/var/spool/ml/etc/aliases.dir
   となっていたかもしれません

◯ OS(というかMTA)の設定

1. /etc/mail/sendmail.cf に 
   /usr/local/fml/www/examples/sendmail/senmail.cf というファイルに書いて
   ある設定を追加してあるか確認してください。編集するのは、この一行だけですが

	O AliasFile=/etc/aliases,/var/spool/ml/etc/aliases

2. １を確かめた後 /usr/bin/newaliases を実行してみて下さい。

   /etc/mail/aliases: 30 aliases, longest 49 bytes, 886 bytes total
   /var/spool/ml/etc/aliases: 20 aliases, longest 26 bytes, 239 bytes total

のように２つのファイルの処理をしたという表示がでるはずです。
＃この例の数字は適当です

3.7	Invalid command 'SSLRequireSSL'

Q: apache のエラーログ /usr/local/apache/logs/error_log をみると 

[Thu May 25 18:49:40 2000] [alert] [client xxx.xxx.xxx.xxx] \
                           /usr/local/fml/share/cgi-bin/fml/admin/.htaccess: \
                           Invalid command 'SSLRequireSSL', perhaps mis-spelled \
                           or defined by a module not included in the server \ 
                           configuration

こういうエラーログが出ますが何でしょう？

A: 

1. .htaccess にかくのが SSLRequireSSL という呪文ではなくなった。
   今のところそんな話は聞きませんのでこれはない。＃要 modssl の調査

2. apache がちゃんと作られていない。 SSL いりの apache なら起動時のロ
   グ( error_log )に

	[notice] Apache/1.3.12 (Unix) mod_ssl/2.6.4 OpenSSL/0.9.5a
	configured -- resuming normal operations

などと残ります。ふつうの apache は次のようになっています。

	Apache/1.3.12 (Unix) configured -- resuming normal operations

3. apache startssl していないなど起動手順が違う？

4	メールサーバの問題

4.1	エラーメールの例

エラーメールが返ってきたら,こんな風になっていると思います。
この
   ----- The following addresses had permanent fatal errors -----
や
   ----- Transcript of session follows -----
のあたりをみて、

	Quota exceeded

のようなキーワードを探して下さい。

◯ sendmail が返すエラーメールの例
    エラーメールのヘッダ
    
       ----- The following addresses had permanent fatal errors -----
    <rudo@nui.fml.org
    
       ----- Transcript of session follows -----
    procmail: Quota exceeded while writing "/var/spool/mail/rudo"
    550 <rudo@nui.fml.org>... Can't create output
    
    	この後に DSN
    
    	送った本文などが続く…

4.2	典型的なエラーメール

エラーメールの最初の方に以下のようなキーワードがありますか？

	エラー		原因
	--------------------------------------------------------
	unsafe	 	ファイルやdirectoryのpermissionがおかしい
			どこかが group writable になっていませんか？
			/ から全階層に渡ってチェック

			とあるOSで / が drwxrwxrwx というのがありました
			(なんて駄目過ぎる OS …)

	loop		/etc/aliases の設定がおかしい 
			newaliases を実行しましたか？

	user unknown	そんなユーザはいない
			/etc/aliases に設定はありますか？
			newaliases を実行しましたか？

	sh: fml.pl not available
			smrsh を使ってたりしますか？
			(最近のRedhatでこのsmrshからみのトラブルが多いです)
			sendmail.cfをどうやって作ったかを確認してください

	Quota exceeded	ディスク(の割り当て)が一杯でメールスプールに書けない
			相手の問題			

	Can't create output	書けないといっている。
			結果はどうでもよくて、問題は理由。
			その前後に理由が書いてないですか？

4.3	Can't locate getopts.pl in @INC at makefml line 104.	

perlが正しくインストールされていません。perlをインストールしなおして
ください。

4.4	:include: がうまく動かない場合 (/etc/aliases)

可能性として

○ メールサーバが include 形式をそもそもサポートしていない
	そんなことはなく、設定がおかしい
	NT なんかだと普通かも（？）

○ include ファイルの場所がセキュリティ的に問題があるためエラー
   例えば 
	・ NFS ごし
	・ include ファイルのある場所までのどこかの permission が危ない
	   例えば /usr, /usr/local, /usr/local/fml のように順次下って
	   group writable か否かを調べる。chmod 755 をしまくる

などが考えられます。include ファイルの置き場所は可能な限り permission 
を落したローカル(NFSではない)場所(そこまでの階層すべての permission に
配慮する)に include ファイルを置いてみて下さい。例えば /usr/local が 
local disk の上にあるとして /usr/local/include/ の下に置いておくなどです。
＃注意: そもそも NFS ごしに setuid しようというのが間違い

C wrapper の詳細: MTA Appendix A.1

4.5	553 machine-name host name configuration error

あるOS(たしかOEMのSUNかなにかだったとおもう)の附属の sendmail でおきま
す。sendmail R8 では相当するコードが存在しないので…なにがおこっている
のかわかりません;-)

config.ph の $HOST を

	$HOST =  'localhost.ドメイン名';

とかにするとＯＫになることもあります(よくわからない)。

4.6	Executable files not allowed 

aliase database /etc/aliases rebuilt by root
cannot open /var/spool/ml/etc/aliases 
Executable files not allowed 

executable bit を落してください。/ から全階層をたどって検査して下さい。
    % chmod a-x /var/spool/ml/etc/aliases

4.7	Insecure dependency in chdir, Permission denied, ... 
See also: MTA Appendix A.1 
See also: MTA Appendix B.1 
See also: internals 2.4 

/ から全階層をたどって permission を検査して下さい。
/var/spool/ml/elena に仮想ユーザ fml 以外が書く権限は必要はありません。

4.8	sh: fml.pl not available for sendmail programs

最近では Red Hat Linux ではまる人が多いのが
sendmail の smrsh ではまるケースのようです(?)。
例えばこのようなエラーメールが返ってきます

      ----- The following addresses had permanent fatal errors -----
   "|/usr/local/fml/fml.pl /var/spool/ml/elena "
       (expanded from: :include:/var/spool/ml/elena/include)

      ----- Transcript of session follows -----
   sh: fml.pl not available for sendmail programs
   554 "|/usr/local/fml/fml.pl /var/spool/ml/elena "... Service unavailable

これは fml じゃなくて sendmail のエラーです。この段階では fml は実行さ
れてもいません。よって fml のログも残りません。

1. /usr/local/bin/perlなどが存在しない。
   fml.pl の先頭の #!/usr/local/bin/perl の部分のこのPATHが間違い

   A.  直して下さい
   A2. インストール時に自動的に修正しているはずなので
       インストーラがうまく働いてないかもしれません

2. sendmail restricted shell のせい

	最近の linux の distribution のなかにはそれがデフォールトのも
	のがあったとおもいます。で、Redhat がまさにそれだったようなきが
	します

    sendmail.cf に
    
    Mprog,                P=/bin/sh, F=lsDFMoqeu9, S=10/30, R=20/40, D=$z:/,
のような行が P=/bin/smrsh になっていればこれです。

A. 回避策 1

	(securityを緩める方向のうしろむきな解決ですが) そこを/bin/sh 
	にするととりあえず動くようになるとおもいます。もしこれが正解だっ
	たら、Sendmail Restricted Shell というものについて調べて下さい。
	そして smrsh について正しい設定をしなおしてみてください。

A2. 回避策 2: link をはりまくる

   fml-support:  07458

smrshを使っていると @LIBDIR に/usr/local/fmlが入らない。
このために 

	require default_config.ph 

の場所などでエラーになる。

回避例(『fml バイブル』 5.2.3 節より):

/var/spool/ml/etc/fml/site_init.ph というファイルに
    push(@INC,   "/usr/local/fml");
    push(@LIBDIR,"/usr/local/fml/module");
    push(@LIBDIR,"/usr/local/fml/module/CPAN");
    push(@LIBDIR,"/usr/local/fml/module/Japanese");
    push(@LIBDIR,"/usr/local/fml/module/fml-devel");
    1;
と書いて下さい。そして以下の symbolik link をはって下さい。

smrsh のディレクトリが /usr/adm/sm.bin とすると
    # ln -s /usr/local/fml/fml.pl /usr/adm/sm.bin
    # ln -s /usr/local/fml/libloadconfig.pl /usr/adm/sm.bin/
    # ln -s /usr/local/fml/default_config.ph /usr/adm/sm.bin/
    # ln -s /usr/local/fml/site_init.ph /usr/adm/sm.bin/

注意: fml-current 3.0B 以降は /usr/local/fml/libloadconfig.pl および 
default_config.ph の link が必要です。それ以前の current,
fml-3.0-stable などでは必要ありません。

補足: Red Hat Linux 7.x ではディレクトリは
      /usr/adm/sm.bin ではなく /etc/smrsh になるそうです。
      (thanks Koichi Honda)

References: fml-support ML:

	01877,01879,01881
	03942,03944,03965
	05706,05708,05712,05715,05721,05722,05723,05724,05725,05726,05727,05728
	07458,07733

4.9	:include:何か is unsafe for mailing to program ...

Posted:  Fri, 21 Jul 1995 03:10:25 JST
fml-support: 00476

チェック: includeするファイルおよびそこまでのパスのどこかで危ないこと
がないか？

OS依存性: fpathconf はPOSIXなのでPOSIX準拠OSには普通あるでしょう。そう
いうOSでは fpathconf() を使ってる可能性大です。ソースの間違いの場合と 
fpathconf() の判定が変な場合も有り得るでしょう。

NECのEWS はよくわかりません。
＃ fml-support X-Mail-Count: 02120。EWSのオンラインリリースメモの注意
＃ 制限事項の中にこの関係の話が書いてあるそうです。

HP では fchown() ではんていしてるらしいです。あと、HP では setuid() じゃ
なくて まだ setreuid() を使ってるとおもうので、default の fml.c ではう
まくいかないでしょう。
setuid -> setreuid にしてでいいのかな…
% man setreuid ででてくる設定は多分setuid
なんかとおなじだとおもいますが…

対策: include ファイル $HOME/ml/elena/include などをローカルDISKの上の 
/usr/local/ml/include-file などへ移し、/etc/aliases を設定し直す。そし
て permission をきびしくする。C wrapper でも同様。特にいまのMTAは/から
途中すべての directory についてチェックしているので group writable に
なっているからか？などについて全部のdirectoryについてチェックします。

裏技: sendmail の chownsafe() が常に真を返すように改造(ひどい;-)

理由(sendmailの場合): QUNSAFEADDR フラッグがONになるのは、

１	chown がちゃんとできないとき
２	world writable であるとき

です。で、１のほうは fpathconf() とか  fchown() だとすれば

sendmail -> 
forkした sendmail -> includeを評価	→ /bin/shをfork()→exec fml.pl
			このとき
			fpathconf()が安全性をチェックする

の時に fpathconf() が bugってるか、それともpath

	path = /home/local/lib/ML/fml/run_HOGEHOGE

のどこかにファイルの所有者以外への write permission が与えられていると
か NFSごし などの時です。

4.10	include's owner != config.ph's owner.

in fml-support: 02475, 02469, 02472 あたり

makefml newml をだれの権限で行なったかを確認する。
一般ユーザで makefml newml をして ML を作ってみる。

4.11	/var/spool/ml/src/fml.pl: permission denied

実行 permission がない。ls -l fml.pl とやって

	rwxr-xr-x 

のように permission が表示されるかどうかを確認する。
＃ chmod(1) chmod(2) chown(8)

perl の実行 permission がない場合もありうるかも

4.12	550 User %s@%s doesn't have a valid shell for mailing to programs

FMLプロセスの所有者のシェルが /etc/shells にないためです。
使っているシェルを /etc/shells に登録して下さい。

* /usr/src/usr.sbin/sendmail/src/

	else if (bitset(QBOGUSSHELL, a->q_alias->q_flags)) {
	  a->q_flags |= QBADADDR;
	  a->q_status = "5.7.1";
	  if (a->q_alias->q_ruser == NULL)
	    usrerr("550 UID %d is an unknown user: cannot mail to programs",
		   a->q_alias->q_uid);
	  else
	    usrerr("550 User %s@%s doesn't have a valid shell for mailing to programs",
		   a->q_alias->q_ruser, MyHostName);
	}
	else if (bitset(QUNSAFEADDR, a->q_alias->q_flags))

とか

  if (!usershellok(pw->pw_name, pw->pw_shell)) {
    a->q_flags |= QBOGUSSHELL;
  }

とか…

4.13	sh: /var/spool/ml/src/fml.pl: No such file or directory

/var/spool/ml/src/fml.pl の場所にファイルがない。perl がない場合にもで
るかもしれない。

4.14	sh: /var/spool/ml/src/fml.pl: command not found

/var/spool/ml/src/fml.pl は perl が実行しますが
先頭の #!/usr/local/bin/perl の場所に perl がない時にでます。

「コマンドがない」という理由は fml.pl を perl fml.pl に展開してから実
行するので、perl がないというつもりで「コマンドがない」というエラーメッ
セージになります。
＃ make 時に configure が自動的に補正することにはなっているはずですが
＃ それがうまくいってないOSの場合にありうるかもしれません

5	主にメールソフトにまつわる話

5.1	Microsoft Exchange で [Elena:数字] が消える

fml-support: 01508

Exchange 同士ではOK。リッチテキストを ON にして受けると subject の
[Elena:数字]がなくなる。

5.2	cc:Mail でのトラブル その１

cc:Mail は[\033\050\112]を日本語が絡みそうな部分には強制的に入れている
らしいです。

他のツールとの兼ね合いや、bug fix、各ケース全部を叩き潰すよりも、
/etc/aliasesなどでnkfをパイプするようにした方がはやいかもしれないそう
です

e.g. 
本文に記述した"# help"などのMLのコントロールメールに関しても
"[\033\050\112]# help"となってしまうそうです。

# private communication to Yasushi Mochizuki <yasushi@pier.fuji-ric.co.jp>.

5.3	cc:Mail 事件 そのN(泣)

in fml-support: 01813 

普通の addr-spec (Elena@domain) の形式で登録すると

	MLからの受信OK
	MLへの送信×

cc:Mail形式のアドレス( abc_def_ghi_jkl@abc.co.jp )で登録すると

	MLからの受信×
	MLへの送信OK

はぁ？？？？？？？？？？？？？？？？？？？？？＞ cc:Mail

members には両方のアドレス
actives には”MLからの受信がOKなアドレス”だけ

を書いておく。あと、
＃ fml-support: 01818

	@MEMBER_LIST  = (members, members-BAKA-NA-CCMAIL-NO-SHIRINUGUI);

とかにして、認証は両方通すとかするとよいかもしれないですね〜どれが迷惑
をかけているアドレスつぅかサイトつぅかソフトつぅかが一目でわかるかなと

5.4	Re: でなく Re[2] 等の変換を勝手にやるらしいクライアント

fml-support Count: 01640, for example "Becky! ver 1.10".

5.5	References を最後の値だけにする

in fml-support: 01662
      References って書く人が自分の記事の references はこのあたりってのを
      記すものなんだから、サーバが制御するのはまずいよね、だからすどおし
      ＃今はそうなってる
    
    って話をしてるんじゃないんだよねぇ;_;
    
    でもこれ表現の自由度を考えると…最後のだけ拾うのって自動じゃできないよ
    うな気がするんだけど？msgid しか来ないっていう仮定の元で
    $SMTP_OPEN_HOOK で最後のだけにしちゃう とかならできるとおもう。
    
    Example:
    
    $SMTP_OPEN_HOOK .= q!;
    	if ($_ = $e{"h:References:"}) {
    	    s/\n(\s)/$1/g;
    	    if (/(<\S+>)\s*$/) { $_ = $&;}
    	    local(@r) = split(/</, $_);
    	    $_ = @r[$#r];
    	    $e{"h:References:"} = /^</ ? $_ : "<$_";
    	}
    !;
    
5.6	AL-Mailを使うとループ・アラートが出る？場合

以下のような場合にはなります。作者様からフォローいただきました(たんく
す_o_)

       From: naka@imasy.or.jp (=?ISO-2022-JP?B?GyRCQ2ZCPDYpO1YbKEo=?=)
    
       AL-Mailでは必ずユニークな Message-Id を付けるように
       なっているのですが、以下のよう状況では同一の Message-Id
       となってしまう可能性があります。
    
       AL-Mailでは送信テンプレートという機能がありまして、
       ヘッダを含めた送信メールのテンプレートを作っておくことが
       できるようになっています。
       このテンプレートのヘッダに Message-Id フィールドがあると
       送信時にそのまま残ってしまい、２つの Message-Idフィールド
       が付いてしまいます。
       送信テンプレートのヘッダには、Message-Id フィールドを付加
       しないようにお願いします。

5.7	Eudora と Reply-To: 

要するに だめ〜なそふと？すか

fml-support: 02353
＃ふりーのEudoraで Bcc: -> Reply-To: とするパッチがあるらしい…

5.8	Return-Receipt-To:事件と cc:Mail等ＭＵＡ

    From: tanigawa@tribo.mech.nitech.ac.jp 
    
    １．MLにReturn-Receipt-To:（発信者のアドレス）をつけて投稿する。配送さ
    れたメールに対して cc:Mailが Return-Receipt-To:に書いてあるアドレスで
    はなくて( Reply-To: || From: ) のアドレスに開封確認のメイルを送ってし
    まう。ループする
    
    MLサーバーで切りとっても、MLサーバーに到着した時点で、まず
    Return-Receipt-To: のアドレスにメールが返るので、特に問題ない
    と思います。おそらく、発信者もそれを意図していると思うのです。
    
結論として

	『ＭＬサーバは親切に Return-Receipt-To: を取ってあげる』;_; 

を実行するように デフォールトを変更しました。

5.9	i-mode ではだめ？

どうも、ふつうのメールソフトと挙動が違うものがあるようで、そういった 
i-mode 端末ではＭＬのメールを受けるのはお薦めできないようです。
そういった機種はどうしようもなくベンダに対応してもらうしかありません。

6	典型的なエラーリスト

6.1	perlのだしているエラー

これはおそらくMTAの問題ではなくfml自体( fml.pl )を実行し損なっていると
いう意味です。

      Can't locate getopts.pl in @INC at makefml line 104.

perlが正しくインストールされていません。perlをインストールしなおして
ください。

6.2	MTAのエラー

例えばMTAのエラーの場合の典型例は以下のようなものがあります。
MTA(sendmail など)から返ってきたメールのエラーメッセージの代表例:

	エラー		原因
	--------------------------------------------------------
	unsafe	 	ファイルやdirectoryのpermissionがおかしい
			どこかが group writable
	loop		/etc/aliases の設定がおかしい 
			newaliases してない
	user unknown	そんなユーザはいない
			/etc/aliases に設定をしていない
			newaliases してない

	sh: fml.pl not available
			smrsh を使ってたりしますか？
			(最近のRedhatでこのsmrshからみのトラブルが多いです)
			sendmail.cfをどうやって作ったかを確認

○	:include: がうまく動かない場合 (/etc/aliases)

可能性としては

	○ include ファイルの場所がセキュリティ的に問題があるためエラー
	   例えば 
		・ NFS ごし
		・ include ファイルのある場所までのどこかの permission が危ない
		   例えば /usr, /usr/local, /usr/local/fml のように順次下って
		   group writable か否かを調べる。chmod 755 をしまくる

	○ include 形式をそもそもサポートしていない
	   -> C Wrapper が必要かも知れない

などが考えられます。include ファイルの置き場所は可能な限り permission 
を落したローカル(NFSではない)場所(そこまでの階層すべての permission に
配慮する)に include ファイルを置いてみて下さい。例えば /usr/local が 
local disk の上にあるとして /usr/local/include/ の下に置いておくなどです。
＃注意: そもそも NFS ごしに setuid しようというのが間違い

C Wrapper については

	/var/spool/ml/ML名/fml.c 

というのが各ＭＬ用に作られているので compile して設定する必要がありま
す。compile そのものはその場所で make fml で実行されますが、setuid は
よ〜く注意して設定しないといけません。
管理者の人とよく相談しながら設定して下さい。
＃注: 2.2 では cc のオプションに -DPOSIX がデフォルトでついています。

See also: ../internals/ 

FYI: OSによってはインストール情報が提供されていることもあります。チェッ
クしてみて下さい。
例:	Debian Linux	/usr/doc/fml/ の下
7	おもに fml そのもの

7.1	user@domain でないと自動登録できない
See also: how_to_subscribe 4.15 

そういうものです。

makefml を使えば登録できます。

7.2	log ファイルに残る 550... みたいな数字は何？

Sendmail からのエラーメッセージの記録です。メッセージは [45]\d\d 形式
です。ログの前後を調べて何が原因か調べてみて下さい。

7.3	WARNING: UNIX FROM Loop

メールがMLにまた帰ってくる場合があります(ループ)。例えば自動登録の時に 
ＭＬ本体とかを間違って登録した場合や、同じメールをそのままＭＬへ送り返
してくるMTAが走っている場合などです。例えば『/usr/sbin/sendmail -bd -t 
みたいな間違った設定をしたせいで 無限ループ事件というのが先日おきた』
のを ふせぐための コードです。

この警告は自分自身に同じメールが返ってきた時に MAIL FROM: $MAINTAINER 
だった時に出ます。

ふつうは MAINTAINER に登録するものは ML-request とか ML-admin みたいな
ものを別に作って登録するという暗黙の前提をしてます。そのため自分でＭＬ
にメールをだして 『自分 == $MAINTAINER』の場合もこの loop check にひっ
かかります。よって、MAINTAINER は -request とかにするのがおすすめです。
なお、

	$NOT_USE_UNIX_FROM_LOOP_CHECK = 1; (default 0)

とすると、このループチェックメカニズムを使わなくなります。

7.4	Try mci:prog since smtp connections cannot be opened

FMLのデフォールトではIPCでMTAに配送をまかしています。しかしエラーでど
うしてもソケットが張れなかった場合にはあきらめてプログラムを起動して使
います。あまりにもこのエラーが頻繁に出るようならIPCをつかわないライブ
ラリに変えてみてください。そのためには config.ph で

	$Envelope{'mci:mailer'} = 'prog';

とします。プロセス間通信ではなくて sendmail を直接実行します。
この時実行するプログラムは

	$SENDMAIL (default "/usr/sbin/sendmail")

で定義されたプログラムです。インストール時に自動的に探してこの変数はセッ
トされているとはおもいますが、念のためチェックして下さい。なお 
qmail-smtpd や exim も動かそうと努力します。

7.5	The flock() function is unimplemented ...

０	perl がちゃんとコンパイルされていない
１	flock() がないＯＳ
２	flock を使わないようにコンパイルされている？

あたりかな？perl をコンパイルしなおすか、

	$USE_FLOCK = 0;

にしてみてください。

	メニュ → オプション → USE_FLOCK → n

7.6	503 Need RCPT (recipient) 

有効な送り返し先のアドレスがないためにでるはずです。該当する人から DM 
をもらってみると分かるのではないかと思います。例えば

	ヘッダのどっかが一行あいてる
	(いいかげんなsendmailが経路のどこかにいるとか)
		とか
	From: のかたちが 特殊
		とか
	Reply-to: (なにもアドレスなし)になっている
		とか

822でみとめているアドレス形式は もっと いろいろかけるんですが、実用
的には sendmail.cf のデフォールトのどっちかの形 つまり 4.4 BSD の 
/usr/share/doc/smm/08.sendmailop/op.me にかいてある形式

	Full Name <address>
	address (comment)

を仮定しています。#完全な822サポートはすごくたいへんなので…てぬき

だから
	From: ("< uja ") <uja@uja.baycity.jp> 

とかは間違ってないんだけど… うまく parsing できないということがありえ
ますね…

7.7	fml.pl はうごくのに msend.pl とか cron.pl とかはちゃんと動かない

そのマシンで sendmail は動いてますか？ 動いてないと log に 
Smtp:connect:なんとか とかエラーがでるんじゃないかとおもいます。

メールを受けて fml.pl を起動するマシンと UNIX の Shell サービスを提供
しているマシン、つまり msend.pl を動かすマシンが違う場合がありえます。
例えば RIMNET。

7.8	まとめおくりの設定を手でしたらだめ？

あまりよくありません。makefml かコマンドで設定して欲しいです。

解説:

   Elena@Baycity.asia  matome   1u

で、実はこれは古いフォーマットなのですが、fml.pl とか libfml.pl は理解
できます。普通メール経由で まとめおくりの命令を与えたら、古いフォーマッ
トになるはずがないので、

   Elena@Baycity.jp  m=1u

となっていなくてはいけない msend.pl は仮定しています。このときファイル
(members とか actives)は
    #.FML HEADER
    # NEW FORMAT FOR FURTHER EXTENSION
    # e.g. fukachan@phys r=relayserver m=3u s=skip 
    # r= relayserver
    # m= matomeokuri parameter is time and option
    # s= skip. can post from this address but not delivered here.
    #
    # the same obsolete format is compatible with new format and as follows:
    # e.g. fukachan@phys relay-server matome 3u
    #.endFML HEADER
    Elena@Baycity.jp  m=1u
    
こうなります。そして、msend.pl はこのフォーマットだけを理解します。

また配送リストだけをいじって msendrc に記入しないと

	WARNING: /usr/local/ml/hitomi/MSend/MSendrc filesize=0 O.K.?

が出るかも知れません(最初の一人の時だけしか該当しません)。

7.9	EUC のファイルを perl はバイナリと認識する?

ファイルを送り返すルーチンは

    stat($f);
    if (-T _ && -r _ && -o _ ) { return $f;}

という判定が入っていてテキストファイルのみを送り返す対象にしています。

ファイルがEUCになっていると -T (普通のファイルなら真)では贋になります。
perl は8ビット目が立っているものがある量 or ファイル全体の10%を越える
ファイルを binary と判定するからです

7.10	lha または ish が見つからない…

某プロバイダのように UNIX の shell のアカウントのあるマシンには 
/usr/local/bin/lha があっても ＭＬサーバを実行するマシンにはなかったり
するんだそうです。で、インストールの時のテストではうまくいっても、その
後ＭＬサーバでコマンドを実行すると動かない。

あと、shared library が違うということもありますので compile するなら 
static である必要があります
＃どうしてそういう実装にするかの裏の理由は知ってるけどとても迷惑;)

7.11	MLとWWWのマシンが別々の場合なのでトラブリます;)

メールを受けるマシンと WWW のマシンは別々(にある日強制的にさせられてし
まったケース)で、WWWマシンの上でMLをやりたい場合などが該当するでしょう。
See also: utility_programs 5 

ML はメールを受けるマシンでしかできませんが、WWWマシンはメールを受けと
れず、そのマシンの上でないとDISKも十分でない場合。pop でメールを読む環
境ならPOPを使ったMLが実行できます。
See also: utility_programs 5 

7.12	Can't locate sys/socket.ph in @INC

perl を新しくしましょう。

解説:

今はパッケージを広げるとfml.pl に対して sys/socket.ph という場所に
一応BSD用の socket.ph があるので何とかなると思うのですが

	Can't locate sys/socket.ph in @INC (did you run h2ph?) at ...
	554 "|/usr/spool/driver/fml"... unknown mailer error 2

perlのインストールの時にh2phを走らせて
/usr/local/lib/perl/sys/socket.ph あたりにあるとおもうんですが、やって
ないとファイルがないので怒られるわけです。

	% (cd /usr/include; h2ph * sys/*)

で /usr/local/lib/perl に作ってくれると思います。
＃h2phの詳細についてはマニュアルを読んで下さい。c.f.   % man h2ph

本来はこういう system からみのファイルはちゃんとインストールするべきだ
と思いますけどね？

7.13	You should install sys/socket.ph using h2ph.

perl を新しくしましょう。

デバックモードで出てくる理由は前セクション参照。
＃後向きな解決法なのでインストールを促しています
8	Header

8.1	メールサーバがグリニッジな時間をつけてるぞ！

素の qmail なら、そういうものです。いやなら patch をあてましょう。

See also: http://www.qmail.org/ 

8.2	ヘッダの時間がおかしい?

システムで環境変数 TZ がちゃんと定義されてない or ちゃんと Sendmail に
渡されない場合
「変な TZ が設定されているため GMT を使ってしまう」

例えば sendmail.cf が古いので sendmail を新しくしたらそれが顕在化した
ケースとかありました。

fml.pl内で呼ばれるlocaltimeが正しい値を返さないため、
変な TZ の渡し方をして、結果としてGMTをかえしてしまう

例えば、JLEでないSUN-OS4.1.3でおこる。JLEの場合は正しい値を返す

sendmail.cf に TZ=japan-time みたいに見知らぬものがついてたら削るかそ
のOSの正しい書き方にする。

もうひとつの後向きな考え方は fml.pl で 
	$ENV{'TZ'} = 'JST';
のようにセットしてしまうこと

SunOS 4.1.3_U1(English)では、$ENV{'TZ'} = 'Japan';  だそうです。
#thanks to hogawa@mesh.ad.jp

8.3	Received: from  (localhost.変なドメイン) by ...

少なくとも localhost ってところだけは関係ありますが後は sendmail,
sendmail.cf および DNS の問題であって fml の問題ではありません。

謎の sendmail.cf が変な展開とか resolver が変とかもありうるかもしれま
せんが、fml.pl が loopback を使ってメールを出してるならそれで正しいは
ずです。

	$HOST		= 'FMLが走るマシン名';

にしてそのマシンの loopback でないのがつくこともあります。
＃でも普通は自分自身へのroutingは loopback interface 使ってないかなぁ 

別解答: Received: from  ... by ... を Received: by ... にする
	sendmail.cf 	を HReceived: by $j ($v/$Z); $b などへ

8.4	JST問題

"  JST"(スペース2個) はだめで、" JST"(スペース1個) はOKな変なメールイン
ターフェイスあるんだって？？？

9	古い記述(か？)

9.1	ガイドとかが なぜか返送されない（no file in Sub SendFile[logfile]）

妙に SUN OS 4.1.3 (+JLE) の場合が多かったんですが、perl の file test
operator が（-T なんでもけっこう変みたい）おかしくて Plain Text か否か？
のチェックをしているところがちゃんと動作していません。

とりあえず config.ph  の最初の方で

	$SENDFILE_NO_FILECHECK = 1;

としておいてください。

9.2	記事番号が変わらない。seq file の中が数字で一杯です…

seq fileがこんなかんじに

1
2
2

みたいになってる。「OSのバグ（kernel libraryだよね?）でlseek system
callがおかしい。」が原因でこうなってしまいます;_;。

	$USE_FLOCK    = 0;

として flock を使わない方式にすればseekは使わないので大丈夫です。

[備考]

    seek(LOCK, 0, 0);

は以下と同じだろうけど、きっとどっちも動かないと思うよぉ？

    require 'sys/unistd.ph';
    require 'sys/syscall.ph';
    syscall &SYS_lseek, fileno(LOCK), 0, &SEEK_SET;

[おかしい OS ]
少なくとも以下の機種はおかしいようだ

	NetBSD  0.9
	NetBSD current(1/29)
	Sun-OS 4.1.3C
	Sun-OS 4.1.3 JLE1.1.3

9.3	PC-VAN がちゃんとうけとってくれない 事件

message-id で < > がちゃんとついてないと だーめ。

PC-VAN は、<uja@aja.or.jp> という Message-Id: を@の前で切り取って、
<uja> にする？ んだそうです。＃なんだ、それ？？？

9.4	自動登録したときにファイルが送られない事件 (fml 1.6 〜 1.6.1?)

推測？：
libutils.pl[AutoRegist] -> libsmtp.pl[SendFile]
GenerateHeaders のパラメータがうまく渡ってない
原因は 変数空間のスコープ かな？

    sub SendFile
    {
        local(@to, *e, *rcpt);
        local($to, $subject, $file, $zcat, @to) = @_;
    
    つまり *to -> @to にしたら動いたりとか？
    ついでに、    
    	local(@to, *e, *rcpt);
    を
    	local(@to, %e, *rcpt);
    とか、
    	local(@to, *e, *rcpt);
    
    をなくすとうごくとか ？

9.5	bin/expire.plで“N個のファイルを残す"のを間違えます

	該当範囲：libexpire.pl のないバージョン(95/11/11以前)

 ”spool/数字” 全体に対して qsort() をかけちゃうんで
sort 後の結果が間違ってしまいます。

  # sort ->  1 , 2, 3, ... increasing order.
  @f = sort {$a <=> $b} @f;

は spool/数字 ではなく 数字 だけで実行しなければならないわけです。
いまのはなおってます。

逆に、spool/数字 を sort するには、たとえばこんなことをすればできます
けど…どうも美しくないね…

    @f = sort fp_sort {$a <=> $b} @f;
    sub fp_sort
    {
        local($na, $nb, $wa, $wb);
        $xa = $a;
        $xb = $b;
    
        $xa =~ s/^(\D+)(\d+)/$wa = $1, $na = $2/e;
        $xb =~ s/^(\D+)(\d+)/$wb = $1, $nb = $2/e;
    
        if ($na || $nb) {
    	# print STDERR "($wa cmp $wb) || ($na <=> $nb);\n";
    	($wa cmp $wb) || ($na <=> $nb);
        }
        else {
    	$a cmp $b;
        }
    }
    
9.6	ファイルがちゃんとおくりかえされない(自動登録とかガイド請求の時)

なんなんでしょうねぇ〜 1.6.{0,1} の頃の話なんですが… 1.6.2 Current 以
降はＯＫみたいです。
＃変数のスコープとかの問題らしいのだが…

ちなみに、非常に機種依存です;_;。
ターゲットマシンの perl 4 on News OS4.2 では 1.6 は正常に動きますんで
＃ 記： Wed Nov 22 07:02:26 JST 1995

9.7	[X-ML-NAME:ID]日本語の題名[X-ML-NAME:ID] 

    From:    easy@pfu.co.jp
    
    Subjectを、[X-ML-NAME:ID] real subject という形式にした場合、日本語の
    Subjectを使うと、CyberDog 1.1J beta User は、
    
    [X-ML-NAME:ID]日本語の題名[X-ML-NAME:ID]
    
    と、なってしまう。
    CyberDog正式版に期待しましょう。

9.8	'macro:s'

昔はMessage-ID もこの変数使っていたので @localhost とかついちゃいました。
そういうことをすると、Message-ID が Unique でなくなるからだめです。

この辺の話をすると

   Sendmail に HELO と呼びかける時に使う変数が	$Envelope{'macro:s'}
   Message-ID につけてるのが			$FQDN
	例： "<$CurrentTime.FML$$\@$FQDN>" フォーム

   fml の $FQDN 	は sendmail.cf の $j
   fml の $DOMAINNAME	は sendmail.cf の $m

9.9	Can't locate auto/Socket/AF_INET.al in @INC at libsmtp.pl ...

Perl 5 が正しくインストールされてないと起きるみたいですね。
#それも 5.000 のようだが… 

0.	なんとかして use Socket; を実行しなければいいと(^^)
1.	use Socket;(libsmtp.pl)	 の部分をカットする
2.	$START_HOOK .= q# $_cf{'perlversion'} = 4;#;
3.	とにかく	
	なんとかして、require sys/socket.ph ; だけをやらせる

あー、でも まとめおくり で START_HOOK って存在しないので、2はまずい。
#というわけで、msend.pl にもフックをつくりました。

10	OSごとのインストールの注意

　ここではOSによる各種の設定方法を述べます。ただし全てのOSおよび環境に
は対応出来ませんのでヒントを書いておきますので参考にして設定して下さい。
あくまで現在確認できている部分なので、このほかにOS依存した不具合・不動
作・その対策等を発見された方はご一報下さい。

10.1	4.4BSD derived systems

10.2	NetBSD

NetBSD 1.x はターゲットマシンなので、なにもなし。

10.3	OpenBSD

NetBSDの親戚だから大丈夫？

10.4	FreeBSD

FreeBSDのパスワードについてはcrypt or md5どちらを使う？問題があります
がcurrentはどちらでも動くようになっているはずです。

10.5	Debian/linux

dselect でインストールする時は /usr/doc/ 以下のドキュメントを読んで下
さいね。

10.6	BSD/OS 3.0, 4.0

struct sockaddrがBSD traditionalとは違い拡張されている。インストーラが
自動半別できるはず。3.0以前に作成したＭＬを3.0へもってくるとはまる可能
性があります。その時は

移った先でSTRUCT_SOCKADDRという文字列をMLのホームの設定ファイル中で探
してみて手で置き換える

ＭＬを移った先で作り直して、手で差分だけ反映させる。cf ファイルだけあ
れば自動でできるはず。cfファイルだけもってきたら STRUCT_SOCKADDR 行を
消して make config.ph すると自動調整されるとおもいます。

10.7	BSD/OS 3.0 以前

何もしなくても動くような気がします。

10.8	4.3BSD

旧ターゲットマシンなので、多分なにごともなくうまくいくでしょう。

10.9	SUN OS 4.1.3

・sendmail に関して: NFS 越しの fpathconf() がうまく作動しません。対策
として、ローカルにinclude をもつかFMLを置く場所をローカルにするか等の
技が必要になるかもしれません。
＃それ以前に NFS ごしの include なんぞ作ってはいけませんが。

・FMLの昔のヴァージョンでは lseek system call をつかうところで、こけて
ましたが、その問題はもう発生しません。

10.10	HP-UX 9?

　setuid まわりが 4.3と4.4の中間みたいな感じで止まってます。
sendmail はいろいろとまわりみちをして、setuid を実行するようですが、
:include: を使う限りうまくいくらしいです。
＃Version依存性がよくわからないんですが…

perl -U を使わないと動かないとか、:include: じゃなくて展開して書くとい
いとか、":include:ファイル" みたいに書くといいとかいろんな説があってよ
くわかりません。とりあえず総当り戦で試してみると良いでしょう。

10.11	SGI Indy (IRIX5.3)

    From:    nino@windy.mech.utsunomiya-u.ac.jp
    
    私のホストは、SGIのIndy(IRIX5.3)なんですが、そのまま
    では全然動かなかったので、-D_POSIX_CHOWN_RESTRICTED
    を付けてkernelをreconfigして何とかなりました。更に、
    :includeを使える様にするために、sendmailを入れ換え、
    大文字が使えなかったので、CFも入れ換えました。
    (See fj.sys.sgi)
    
SGI may require kernel reconfig with -D_POSIX_CHOWN_RESTRICTED and
replace sendmail, sendmail.cf with latest ones.

10.12	UXP/DS V20L10(SVR4.2)

	FUJITSU GRANPOWER 7000(DS/90)
	UXP/DS V20L10(SVR4.2)

で(インストーラ(config.guess)がどう判定するかはよくわかってないのです
が)、

	$COMPAT_SOLARIS2 = 1;

が必要だそうです。

10.13	AIX 4.2

fml-support: 04555

sendmail 8.8.5	include style works 
sendmail 8.8.8	include style fails but
		C Wrapper (fml.c fml-ctl.c) works

10.14	Solaris 2.4 でプロセス間通信がうまくいかない

makefml がインストール時にOSやアーキテクチャアについて推測し config.ph 
に書き込みます。

	$CPU_TYPE_MANUFACTURER_OS 

という変数に solaris2 という文字列がちゃんとあるかどうか確かめて下さい。
OEM等ではちゃんと判定できない場合もあります。 

ソラリス互換２で強制的に実行するには config.ph で 

	$COMPAT_SOLARIS2 = 1; 

をセットしてためしてみてください。強制的に $CPU_TYPE_MANUFACTURER_OS 
を定義するのも可です。

ソラリスでは意味不明に(意地悪く?)定数が違うので、ちゃんと 
/usr/include/sys/socket.h から作った sys/socket.ph
(/usr/local/lib/perl(/OS名)/sys/socket.ph あたり) を呼んでいないと動き
ません。

10.15	Solaris 2.3 (SUN OS 5) で flock がうごかない

flock がだめというエラーメッセージがでたら

	$USE_FLOCK = 0;

にしてみてください

10.16	DEC alpha(OSF1 V3.0)上の perl4 で config 等が動かない

perl4 だと多分動かないとおもう。perl5 を install して試してみてくださ
い。

10.17	article ID duplication error 

次を見てね↓

10.18	perl 5.003 flock と そらりす 2.5 2.5.1 ?

fml 2.1 current のどこかで直った
＃flock やってるふりしてできてない？そのため SEQUENCE_FILE がちゃんと
＃更新されなくて article ID duplication error が出る？
＃参照: fml-support:241? あたり

11	misc

11.1	gen_summary.pl

記事がきちんと番号順に存在しないとうまく動きません。
例えば
spool/100 spool/102 のように 101 がとんでしまうと
だめです。適当に 101 をでっちあげるとうごくようになります

11.2	アップグレードしたら mget などがうまく動かなくなった

   config.ph で $INSECURE_SYSTEM = 1; とすると動いたりしますか？

＃ fml 2.2_BETA 以前のものからアップグレードした場合あたりで
＃ ありうるようです。


		INDEX

/var/spool/ml/src/fml.pl: permission denied   ...   4.11 
4.3BSD                                     ...   10.8 
4.4BSD derived systems                     ...   10.1 
503 Need RCPT (recipient)                  ...   7.6 
553 machine-name host name configuration error   ...   4.5 
:include: ... is unsafe for mailing to program ...   ...   4.9 
AL-Mail                                    ...   5.6 
article ID duplication error               ...   10.17 
Can't locate auto/Socket/AF_INET.al in @INC at libsmtp.pl ...   ...   9.9 
Can't locate sys/socket.ph in @INC         ...   7.12 
cc:Mail                                    ...   5.2 5.3 5.8 
CyberDog-1.1J-beta                         ...   9.7 
DEC alpha(OSF1 V3.0)                       ...   10.16 
doesn't have a valid shell                 ...   4.12 
EUC                                        ...   7.9 
flock                                      ...   9.2 
h2ph                                       ...   7.13 
HP-UX                                      ...   10.10 
include's owner != config.ph's owner.      ...   4.10 
Insecure dependency in chdir               ...   4.7 
IPC                                        ...   7.4 
IRIX5.3                                    ...   10.11 
ish not found                              ...   7.10 
lha not found                              ...   7.10 
libsmtp.pl                                 ...   7.4 
lseek                                      ...   9.2 
'macro:s'                                  ...   9.8 
Microsoft Exchange                         ...   5.1 
nkf                                        ...   5.2 
OS dependences                             ...   10 
PC-VAN                                     ...   9.3 
Permission denied                          ...   4.7 
Received:                                  ...   8.3 
Return-Receipt-To:とcc:Mail等ＭＵＡ        ...   5.8 
$SENDFILE_NO_FILECHECK                     ...   9.1 
sendmail.cf                                ...   8.2 8.3 
seq                                        ...   9.2 
sh: /var/spool/ml/src/fml.pl: command not found   ...   4.14 
sh: /var/spool/ml/src/fml.pl: No such file or directory   ...   4.13 
Solaris 2.3 (SUN OS 5) で flock がうごかない   ...   10.15 
Solaris 2.4 でプロセス間通信がうまくいかない   ...   10.14 
$SUBJECT_HML_FORM                          ...   9.7 
SUN OS 4.1.3                               ...   9.1 10.9 
sys/socket.ph                              ...   7.12 
The flock() function is unimplemented ...   ...   7.5 
trouble shooting (obsoletes)               ...   9 
trouble shooting around FML itself         ...   7 
trouble shooting around MUA                ...   5 
TZ                                         ...   8.2 
$USE_FLOCK                                 ...   7.5 
WARNING: UNIX FROM Loop                    ...   7.3 
You should install sys/socket.ph using h2ph.   ...   7.13 
ソケットがつくれまへん                     ...   7.4 
プロセス間通信                             ...   7.4 
メールソフト                               ...   5.2 
