CGIに詳しい方、教えてください。
HP上にサンプル応募フォームを作って、アンケート形式で答えてもらい、その結果をメールで私に送ってもらう(sendmail)の件です。

以下のようにCGIを記入しています。
フォームに記入して「送信」すると、「送信は完了しました」というメッセージは出るのですが、一向にメールが届きません。
どこか記述がおかしいのでしょうか?

なお、HPのFAQには

Sendmailのパスは
/usr/sbin/sendmail です。

と書いてあったので、それにあわせたつもりです。
よろしくお願いします。

-------------------------------------------
#!/usr/bin/perl

$ver = 'PostMail v1.01';

#------------#
# 基本設定 #
#------------#

# メールソフト種類
# 1 : sendmail (UNIX)
# 2 : blatj (NT)
$prog_type = 1;

# コード変換ライブラリ
require './jcode.pl';

# メールソフトまでのパス
# → sendmailの例: /usr/lib/sendmail
# → blatjの例: c:\www\mail\blatj.exe
$mailprog = '/usr/sbin/sendmail';

# 送信先メールアドレス
$mailto = '私のメールアドレス';

# 送信前確認
# 0 : no
# 1 : yes
$preview = 1;

# メールタイトル
$subject = "サンプル応募メール";

# ホスト名取得モード
# 0 : $ENV{'REMOTE_HOST'}で取得できる場合
# 1 : gethostbyaddr関数で取得できる場合
$get_remotehost = 0;

# スクリプト名
$script = './sample.cgi';

# 一時ファイル(blatjの場合のみ)
$tempfile = "./$$\.tmp";

# 送信後の戻り先
$back = 'トップページのURL';

# method形式 (0=no 1=yes)
$method = 'POST';

# bodyタグ
$body = '<body bgcolor="#F1F1F1" text="#000000">';
------------------------------------------

このQ&Aに関連する最新のQ&A

A 回答 (4件)

でしたら、sendmailのパスが間違ってるのでしょうか?


$mailprog = '/usr/lib/sendmail';
でやって見てください。
それでも駄目なら、サーバー管理者にsendmailのパスをたずねてください。
    • good
    • 0
この回答へのお礼

Lio様、たびたびありがとうございます。

パスは /usr/sbin/sendmail らしいんですが、
いずれにしろ正確に作動しません。
他のwebサーバではまるっきり同じものできちんと動くのですが?
サーバ管理者に直接質問してみます。

ありがとうございました。

お礼日時:2002/01/14 20:50

こんばんは。


上記の部分では特に問題なさそうです。sendmail へのパスが間違っているのに、「送信は完了しました」というメッセージは表示しないはずですし。どちらかというと、送信フォームのHTMLや、送信先のメールアドレスに間違いが無いかが気になります。

PostMail ってKentさんとこのですよね?
同じSourceが見れたほうが良いと思うので、可能であれば、最新版で試されてはいかがでしょうか。

参考URLから、Ver1.61 がダウンロードできます。

参考URL:http://www.kent-web.com/data/postmail.html
    • good
    • 0
この回答へのお礼

annie_x様、アドバイスありがとうございました。
最新版があるんですね?
早速ダウンロードしてチャレンジしてみます。

どうもありがとうございました。

お礼日時:2002/01/14 20:51

$mailprog = '/usr/sbin/sendmail';



$mailprog = '/usr/sbin/sendmail -t';
ではどうですか?
パスは合ってると思いますよ。。私のサーバーと同じsendmailのパスなので。
    • good
    • 0
この回答へのお礼

Lioさん、こんにちは。
アドバイスありがとうございました。
で、早速やってみたのですが、やはり
-------------------
ERROR !
メールプログラムのパスが不正です
-------------------
でした(T^T)

パスはあっているとおい確認がとれただけでも嬉しいです。
いろいろと試行錯誤してみます。
ありがとうございました。

お礼日時:2002/01/14 08:57

↓この部分が違うと思うよ(^^)↓


$mailprog = '/usr/sbin/sendmail';
usrの後をbinにしなければいけないのにsbinになってるから
' 'の内部を/usr/bin/sendmailに変えてみて、おそらく動作するはずだよ。
cgi製作者のミスなのかもねw
    • good
    • 0
この回答へのお礼

seiryu1985様、早速のアドバイスありがとうございます。

しかしながら、おっしゃるとおりに変えてみると、
-------------------
ERROR !
メールプログラムのパスが不正です
-------------------

このようなメッセージが出ます。

前のままだと、送信内容の確認画面が出て、「送信」で
きちんと完了するんです。
でも、メールが届きません。
記入してあるメールアドレスは、間違いはないです。

わかりません。。。

お礼日時:2002/01/14 01:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング