記事の最後へ▼ 
< 質 問 >
k4でe510エラー(win2003)

いつもありがたく利用させていただいています。

Win2kマシンのパーツが壊れたので、Mailサーバー(XMail,CFG,K4)をWin2003serverに移転させました。

OS: Win2003server(enterprize)SP1
httpd: Apache 2.0.54
XMail: v1.22 CFG:v2.22b K4: 0.84
Perl: v5.8.8.817 (5.6.1.635, 5.8.6.811, 5.8.7.815)

移転先でメールの送受信も、XmailCFGも正常に動作するのですが、ブラウザでK4ページにアクセスすると「e510エラー」が出てしまいます。

このエラーを調べましたら、login.cgiの第49行目で出していることがわかりました。
そこでとりあえずlogin.cgiの第43行目〜第51行目(SMTP サーバの応答チェック)をコメントアウトしたところ、K4ページにログインできるようになり、ほとんどの機能が使えるようになったのですが、K4画面からの新規メールの送信や返信、転送等を実行できません。具体的には、メールの送信実行時にInternal Server Errorが出ます。そこでApacheのエラーログを見ると、config.cgiの第840行目($smtp->mail("$from1");)でエラーが出ています。

つまり、K4からXMailを認識できていないようなのですが、原因がわかりません。

Perlは、上に書きましたように、バージョンをいろいろ変えてみましたが、解消しませんでした。

また、K4やXMailのインストールフォルダのプロパティ(セキュリティ設定)でusersのアクセス許可をフルコントロール可にしてみたり、共有にしてeveryone:フルコントロール可にしてみたりしましたが、解消しませんでした。

Win2003に付属のIISは一度別の用途でインストールしましたが、その後アンインストールしています。

Win2000マシンのときは問題なく使えていましたので、Win2003特有の問題(設定方法など)かなとも思うのですが、よくわかりません。e510エラーについて過去ログにも目を通しましたが、まだ解決方法が見つかりません。

どなたか解決方法や原因の調べ方やなど、何かご存じでしたら、ご教示いただけないでしょうか。よろしくお願いします。

ampm (07.27/06)


【 通りすがり (07.27/06) 】

e510エラーの多くがCGIの実行権限などの設定ミスによるものが多いので、cgiプログラムの方を見るのでは無く、XMailCFG・K4の再設定や、Apache・Perlのパスなどの設定を見直したほうが良いかと思います。
# ちなみに同様の環境で問題なく動いてます。

P.S.
色々テストして設定などがおかしくなっている可能性もありますので、一旦時間を置いて、初めから設定しなおしたほうが、良いかもしれません。


【 ガイア (07.28/06) 】

スパムホストの管理で遅延を入れてませんかね?


【 ampm (07.28/06) 】

通りすがりさん、ガイアさん、ありがとうございます。

> XMailCFG・K4の再設定や、Apache・Perlのパスなどの設定を見直したほうが良いかと思います。

XMailCFG・K4の環境設定は何度も見直していますが、原因らしきものが見つかりません。ApacheやPerlのパスなどは、全て正常に動作していた移行前と同じドライブ・パス構成にしていますので、設定ミスはないと思うのですが、また後ほど見直してみようと思います。

> スパムホストの管理で遅延を入れてませんかね?

spammers.tabには現在500近い数のスパムホストを登録していて60〜300secの遅延を入れています。
しかし、一時的に空のspammers.tabに置き換えて動作チェックしてみましたが、状況は変わりませんでした。

他にも何か怪しいところがありましたら、引き続きよろしくお願いします。


【 ガイア (07.28/06) 】

(1) エラー時のXMailCFGのSMTPログには何も書かれませんか?
(2) SMTPリレーにループバックを許可していますか?


【 ampm (07.29/06) 】

ガイアさん、ありがとうございます。
> (1) エラー時のXMailCFGのSMTPログには何も書かれませんか?

上にも書きましたように、K4は、login.cgiの第43行目〜第51行目(SMTP サーバの応答チェック)をコメントアウトして使っていますが、新規メールを作成し送信を実行してInternal Server Errorが出た時には何も記録されていません。
Apacheのエラーログには、
Can't call method "mail" on an undefined value at config.cgi line 840.\r, referer: http://hogehoge.com/~hogehoge/cgi/mailbox_new.cgi?pGEDEp・・・・・・ が記録されています。

> (2) SMTPリレーにループバックを許可していますか?
具体的にはどの設定でしょうか?
SMTPリレー許可には、127.0.0.0(255.255.255.0),192.168.1.0(255.255.255.0)を登録していますが、これのことでしょうか?


【 nakamura (07.29/06) 】

>SMTPリレー許可には、127.0.0.0(255.255.255.0),192.168.1.0(255.255.255.0)を登録していますが、

 これですかね、原因は。この相談室の#1369はごらんなりましたか?ループバックアドレスは127.0.0.1です。


【 ampm (07.29/06) 】

nakamuraさん、ありがとうございます。

原因というか対処方法がわかりました。

login.cgiの48行目やconfig.cgiの839行目にある
my $smtp = Net::SMTP->new($smtpsvr, Port=>$smtpprt, Hello=>$smtphelo, Timeout=>30);
の行の$smtpsvrを'localhost'に変更したら、K4へのログインもK4からのメール送信もできることがわかりました。

XmailCFGのXMail環境設定及びK4環境設定においてSMTPサーバードメインにhogehoge.comを登録しており、上記のスクリプトを実行したとき変数$smtpsvrにちゃんとhogehoge.comが入るのですが、LAN上でドメイン名の名前解決が上手くできていなかったようです。

結局、MailサーバーPCのWindowsのhostsファイルに
192.168.1.x hogehoge.com #SMTPサーバードメイン名
を加えたら、K4のe510エラーが出なくなりました。

Win2000のときは必要なかったような気がするのと、hostsファイルに上記の登録をしていないときでもLAN上からメーラーによるメールの送受はできているので、少し腑に落ちないのですが、とりあえず解決とさせていただきます。

ちなみにnamed(dns)はbind8.4(binary)を使っています。

なお、SMTPリレー許可(smtprelay.tab)の127.0.0.0(255.255.255.0)を127.0.0.1(255.255.255.255)に変更すると、XmailCFGの「K4の管理」から「環境設定」を開こうとすると、怒られますので、これは変更していません。

みなさん、どうもありがとうございました。

記事の先頭へ▲ 
SUPER LABORATORY