中田さん、どうも馬鹿げたというか、ホントに単純なことでスミマセンでした。
「Program Files問題」、そうだったのですか…。あの空白は気持ち悪いので、試しに詰めてみたらやっぱりエラーになるし、cgiからblatjは認識されているようなので、やっぱりそのままにしておかなきゃいけないのだと考えていました。
DOSの頃から考えると、空白が有ったり、長〜いフォルダ名だったりというのは、考えられませんね。
「PROGRA~1 という置き換えも有効」 そうだったのですか。ボクはこれはバケているのだと思っていました。一つカシコクなりました。
いずれにしろ、やっぱり単純なことで、ご厄介をおかけしました。 <(_ _)>
くさやさん、
どうもお疲れさまでした。
パスの深さではなく、空白を含むパスの問題(「Program Files問題」ともいう)ですね。
Windows が空白(ブランク)を含むパスをサポートするようになったのはよいのですが、コマンドライン(DOSプロンプト)でのサポートは中途半端で、場合によって " " でくくったりしなければいけません。 Program Files は PROGRA~1 という置き換えも有効ですが、このショートネームというのも何か変ですよね。
この掲示板をblatj のことで使ってすみません。
いしどうさん、有り難うございます。
中田さん、ご厄介をおかけしました。
夕べからずっと試してみて、今朝も早くから…。
ようやくcgi から送信できるようになりました。こういうのって、たいてい後から考えると単純なんですが…。
今まではblatj.exe を c:\Program Files フォルダの中に blatjフォルダを作り、その中に置いていたのですが、試しに C:\blatj フォルダを作ってそこに入れ、もちろんcgi のメールソフトまでのパスも書き換えて試してみました。そうしたら成功しました。次に、AN HTTP Server が入っている c:\xxxx の中にblatjフォルダを作り、そこにblatj.exe を置いて試してもうまくいきました。
先に書いたように、Program Files の中のblatjフォルダに入れていたときも、試しに変なオプションをつけてみたりすると、「メールプログラムのパスが不正です」と表示され、外すとちゃんと送信されたように表示されるので、cgi からblatjはちゃんと認識されていると思っていました。
また、cgi の中の「# メールソフトまでのパス」の例で「c:\www\mail\blatj.exe」と記載されているので、パスの深さが問題だとは思っていませんでしたし(c:\www\ というのがミソだったのかなぁ)、環境変数 PATH に blatjフォルダを加えていましたので、問題はないと考えていました。
時間的には相当かかりましたが、手法は本当に単純なものでした。
なお、blatj は 今のところ 1.8+Jxx ではインストールさえ失敗し(tconvlib.dll の置き場所に関わらず)、1.7+Jxx で可能です。引き続き、1.8+Jxx でもやってみます。
AN HTTP Server これからも使わせていただきます。本当にいろいろありがとうございました。
くさやさん、
おかしいですね。
Perlのバージョンは何ですか? PerlIS.dll か perl.exe かもお知らせ下さい。
また、試してみた postmail.cgi をそのまま私宛てメールで送ってください。
それから、regedit で HKEY_LOCAL_MACHINE\SOFTWARE\AnHttpd 以下をファイルに書き出して、それもメールで送ってください。
くさやさんへ。
ピーデーで配布しているBlatJ Version 1.8.2+J2.2 では、
文字コード変換用のDLL tconv.dll が必要なようですが、
環境変数 PATH が指しているディレクトリのどこかに
このファイルが置いてあるかどうかを確認したほうが
いいとおもいます。
(一番お手軽なのは、windows ディレクトリに tconv.dll
をほおりこんでしまうこと(笑)でも、あとでわかんなく
なる恐れがあるのであまりお勧めしませんが)
>AN HTTPD で blatj などが使えないなどという誤った情報が
>そのままなのでは私としては困ります。
おっしゃるとおりです。
blatjは自宅のメールサーバはもちろん、プロバイダのメールサーバにもインストールして試してみました。両方、コマンドラインではインストール&メール送信はできました。cgiはKENTさんのだけではなく、他のblatj互換cgiでも試してみました。
cgiをマニュアル通りに設定してメール送信の操作をすると、メールを送信したというメッセージは表示されますが、実際はメールは送られていませんし、自宅メールサーバのログには何も痕跡がありませんでした。
試しに、cgiの中のblatjのコマンドラインにオプションを付けてみたら、オプションが不正だとか表示されましたので、cgiからblatjを呼び出していることは間違いないと思います。
とまぁ、何日間かいろいろ繰り返してやってみたのですが、ダメでした。
どこかで間違っているのかも知れませんが、もし、お気づきの点があればやってみますので、お教えください。
くさやさん、
くさやさんに不自由はなくても、AN HTTPD で blatj などが使えないなどという誤った情報がそのままなのでは私としては困ります。
もちろん実際に使えない場合があるとしたら調べて直さなければいけませんし。
>http://www.kent-web.com/www/mail/index.html
>に出ているようなことはできていますか?
何回も設定しては確認しました。ひょっとすると、気が付いていない とんでもないミスがあるということも考えられなくはないですが、まずないと思います。
結局、blatjやcmail writer はダメですが、sendmail.cgi が順調ですので、今のところ不自由はなくなりました。不自由がなくなると、それ以上やろうという気が起きないので、今のところそれ以上試していません。スミマセン。
blatj を使わないというのは、常駐ソフトを減らす意味からもメリットはあるかなぁと思っています。
有り難うございます。
くさやさん、
そうですねえ、
http://www.kent-web.com/www/mail/index.html
に出ているようなことはできていますか?
WINDOWSMe で、WEBサーバにAN HTTP、MAILサーバにArGoSoft Mail Server を使っています。
WINDOWSでは、sendmail が使えないので、BLATJ や CMAIL WRITER を試してみましたが、いずれもコマンドラインからは動作するものの、cgiスクリプトの sendmail部分を置き換えるなどして使ってみましたが、メールが送信できません(blatjは、182bj6では動作せず、17ijなら可能でした)。メールサーバのログを見ても、まったく反応していないし、かといってblatjが動かなかったわけではないようでした。何日間もやってみたのですが…。
半ば諦めていたところ、sendmail.cgiというのを知り、使ってみたところ、これがウソのように簡単にメール送信ができました。
このスクリプトは、「にゃぁぁぁぁぁぁぁ?」http://wan.magical.gr.jp/ で配布されています。
使い方は簡単で、sendmail のパスを "perl /sendmail.cgiまでのパス/sendmail.cgi "などと換え、sendmail.cgiのSMTPサーバ名などを設置するだけ。cgiからsendmail.cgiを呼び出して送信するわけですね(詳しいことは???)。
POP before SMTPを使用するために、設定の中でUSER-ID/PASSWORDを書く部分がありますが、ボクの場合は必要なかったので切り取りました。
3つのcgiで試しましたが、2つはバッチリ。1つは文字コードの関係でひっかかりました。でも、sendmailを使うたいていのcgiで動作するようです。
なお、ActivePerl 5.6.1.628用ということで、ボクはそのバージョンでしたが、他のバージョンでは試していません。
「このプログラムはsendmail.cgiファイルの中に直接、IDとPASSを記述することが可能なため、他の人にこのIDとPASSが漏れてしまう可能性がありますので十分注意してください。」ということですが、POP before SMTPの設定が必要なければ、パスワードは書く必要はありません。その他のセキュリティは?
blatjなどが動かない理由はいまだに?です。AN HTTPの設定で、何か必要なことがあるのでしょうか?
同じようなことで、つまずいておられる方もおられると思い、報告します。