• 締切済み

sendmailが上手く行きません。

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">'; ------------------------------------------

みんなの回答

  • Lio
  • ベストアンサー率44% (13/29)
回答No.4

でしたら、sendmailのパスが間違ってるのでしょうか? $mailprog = '/usr/lib/sendmail'; でやって見てください。 それでも駄目なら、サーバー管理者にsendmailのパスをたずねてください。

STS
質問者

お礼

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

  • annie_x
  • ベストアンサー率50% (65/129)
回答No.3

こんばんは。 上記の部分では特に問題なさそうです。sendmail へのパスが間違っているのに、「送信は完了しました」というメッセージは表示しないはずですし。どちらかというと、送信フォームのHTMLや、送信先のメールアドレスに間違いが無いかが気になります。 PostMail ってKentさんとこのですよね? 同じSourceが見れたほうが良いと思うので、可能であれば、最新版で試されてはいかがでしょうか。 参考URLから、Ver1.61 がダウンロードできます。

参考URL:
http://www.kent-web.com/data/postmail.html
STS
質問者

お礼

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

  • Lio
  • ベストアンサー率44% (13/29)
回答No.2

$mailprog = '/usr/sbin/sendmail'; を $mailprog = '/usr/sbin/sendmail -t'; ではどうですか? パスは合ってると思いますよ。。私のサーバーと同じsendmailのパスなので。

STS
質問者

お礼

Lioさん、こんにちは。 アドバイスありがとうございました。 で、早速やってみたのですが、やはり ------------------- ERROR ! メールプログラムのパスが不正です ------------------- でした(T^T) パスはあっているとおい確認がとれただけでも嬉しいです。 いろいろと試行錯誤してみます。 ありがとうございました。

noname#53667
noname#53667
回答No.1

↓この部分が違うと思うよ(^^)↓ $mailprog = '/usr/sbin/sendmail'; usrの後をbinにしなければいけないのにsbinになってるから ' 'の内部を/usr/bin/sendmailに変えてみて、おそらく動作するはずだよ。 cgi製作者のミスなのかもねw

STS
質問者

お礼

seiryu1985様、早速のアドバイスありがとうございます。 しかしながら、おっしゃるとおりに変えてみると、 ------------------- ERROR ! メールプログラムのパスが不正です ------------------- このようなメッセージが出ます。 前のままだと、送信内容の確認画面が出て、「送信」で きちんと完了するんです。 でも、メールが届きません。 記入してあるメールアドレスは、間違いはないです。 わかりません。。。

関連するQ&A