< 質 問 >
Perl.exeが複数起動している
よろしくお願いします。 環境は、 Windows2003Server IIS6.0 Perl v5.8.8 XMail 1.22 XMailCFG 2.22a です。
テスト用のwebサイトからメールを送信することを目標に以下のように構成しました。 IISのマッピングでは、 .cgi C:\Perl\bin\perl.exe "%s" %s GET,POST .pl C:\Perl\bin\perl.exe "%s" %s GET,POST と設定しています。
C:\Inetpub\wwwroot\testフォルダを作成。その中に「postmail.cgi、mailtest.html」を配置。仮想ディレクトリを設定。 C:\sendmailフォルダを作成。その中に「sendmail.cgi」を配置。
mailtest.htmlでは、<FORM action="postmail.cgi" method="POST">というようにsubmitします。 postmail.cgiでは、「$mailprog = 'c:\perl\bin\perl.exe c:\sendmail\sendmail.cgi';」としています。
動作としては、mailtest.htmlで「送信」ボタンを押すと、メールが送信され、 「送信完了」画面(postmail.cgi内に記載)を表示させます。
このような設定で操作すると「送信」ボタンを押してから「送信完了」画面が 表示されるまでに相当時間がかかってしまいます(10〜20秒。メールは飛びます)。携帯から操作しても同じ動作です。 タスクマネーじゃでその様子を確認すると「Perl.exe」が2つ同時に起動しています。 ユーザー名は両方共に「IUSR_コンピュータ名」です。 私の見解では、cgiの実行に1つ、XMailの実行に1つなのかなと思っています。
そこで.cgiのマッピングを「.cgi C:\Perl\bin\perlis.dll」に変更してみたところ、 タスクマネージャで確認することが困難な程早く処理され、さくっと「送信完了」画面になります。メールも飛びます。 (この場合は、Webサービス拡張のISAPI Extension等も許可に設定しました) ただ、Content-typeやContent-Length等が画面に表示されてしまいます。(変更前には表示されなかったのに)
また、携帯(FOMA N900iS)で同じことを行うと送信完了画面が表示されず、エラー画面になります。 「接続先のサーバは現在ご利用できません(502) Your request cannot be processed.(502)」メールは飛んでいます。
このような状況です。 IEでも携帯でもさくっと送信完了画面を遷移して、メールが飛ぶようにしたいです。 ところが、上記のように思いの通りにはできません。 何か解決方法はありますでしょうか? アドバイスを宜しくお願いします。
あるしんど (06.09/06)
|