sendmail.cgi について、
この sendmail.cgi というのは .cgi という拡張子にするのは誤解を招きますね。
wsendmail.txtを見ると sendmail.pl と書いてありますが、その通り sendmail.pl とでもしておいた方がよいでしょう。
これはCGIの中で呼び出す単なるPerlスクリプトであって、CGIではないからです。
UNIX では 最初の行に #! /usr/local/bin/perl とperlへのパスを指定してあって、sendmail.cgi に実行権をつけてあれば、
$sendmail = "./bin/sendmail.pl";
とすることで実行させることができますが、Windowsでは #! を解釈しない場合、
$sendmail = 'perl ./bin/sendmail.pl';
などと perl を起動しなくてはいけないのは当然のことです。
その場合、 ./bin/sendmail.pl は .\bin\sendmail.pl とした方がよいでしょう。
/ をパス区切りに使うと URL のパス(仮想パス)と誤解しやすいからです。
仮想パスではないのですから、エイリアスは効きません。
perl.exe は / も \ と同じにみなすので正常に動いていると考えた方がいいと思います。
blatj と sendmail.pl(sendmail.cgi)では、blatj.exe を起動するか perl.exe を起動するかの違いだけですから大差はないと思います。いずれにしろ外部コマンドの .exe を起動するという負担がかかります。
くさやさん、レスありがとうございました
> $sendmail = 'perl ./bin/sendmail.cgi';
この書式でも大丈夫なんですね 今はc:\**〜 形式でやっています
最初の perl の部分を抜かしていたりしていたので、正常に動作してなかったようです
私の場合はsmtpとして127.0.0.1を指定しています
blatjとsendmail.cgiの負荷については今のところは大差もなく感じてます
keddy さん、遅くなってスミマセン。sendmail.cgiのパスへのRESです。
ボクは、いとさんの書いておられるKENTさんの postmail.cgi では試したことがありません。今、実際に使っているのは レスキューさんのWebFORM v4.0 などです。
postmail.cgi では sendmail を使うか blatj を使うか選ぶようになっていますが、一般のsendmailを使うcgiにはそのような部分はありません。
例えば、次のような場合これは、perl にパスが通っている場合です。perl の後に sendmail.cgi までのパスを書きますが、ボクの場合はフルパスでなく、WebFORM からのパスでOKでした。perl と sendmail.cgi の間に半角スペースを忘れないようにしてください。この場合は入れないとダメです。
+-- cgi-bin
| webform.cgi
|
+-- bin sendmail.cgi
webform.cgi の中の#■SENDMAILの設定を
$sendmail = 'perl ./bin/sendmail.cgi'; ← にするだけです。
いとさん、ありがとうございました
無事送信成功しました
keddyさん
メール用FORMとしてKENTさんの postmail.html を使っている場合、
postmail.cgi を以下のように設定して試してみてください。
----------------------------------------
# メールソフト種類
# 1 : sendmail (UNIX)
# 2 : blatj (NT)
$prog_type = 1;
(略)
# メールソフトまでのパス
# → sendmailの例: /usr/lib/sendmail
# → blatjの例: c:\www\mail\blatj.exe
$mailprog = 'perl c:\mail\sendmail.cgi';
(注1) PATHが通っていなければ perl -> c:\perl\bin\perl.exe に
(略)
# メールプログラムのパスチェック
#unless (-e $mailprog) { &error("メールプログラムのパスが不正です"); }
(注2) メールプログラムパス有無チェックをコメント化して無効にする
メール送信に関してですが、blatjに関しては問題なく動作するのですが
くさやさんが書いていたsendmail.cgiが正常に動作しません
パスの指定ですが、blatjの場合は、c:\mail\*** という形で指定して動作してますが
sendmail.cgiのパスの指定方法がいまいちわからなくて困っています
c:\mail\*** というようにしたらエディタが立ち上がったり、エイリアスを設定してみたら
パスエラーは出ないけど実際に送信されないといったことになってます
くさやさん、ここ見ていたらパスの指定方法など少し教えてくださいませんか?
お願いしますm(__)m