• 締切済み

設置したCGIからsendmailが届きません

設置したCGIからメールが届きません。 理想のプログラムを見つけ設置してみたのですが、何故か入力内容のメールが届きません。 配布元で質問したいのですが、既に動いていない様で、表示されないページが多数あります。 どなたかCGIのプログラムが分かる方、見ていただけないでしょうか?よろしくお願いします。 http://www.tryhp.net/webhandler.htm ためしにサーバーをいくつか変更してみましたので、設置方法や設定方法が間違っているとは思えないのですが・・・。 メールの設定箇所 #----------------------------------------------------- #sendmailのパス 利用できないプロバイダは '' にする。 #WindowsでBlatj.exeが使用できる場合は'c:\usr\lib\blatj' #$sendmail = 'usr/bin/sendmail'; #あなたのメールアドレスを指定します。 #このアドレスにメールが届きます $mailto = '*****@**.net'; #同時に送信するアドレスが有れば「,」で区切って指定 $cc = ''; #----------------------------------------------------- 送信プログラム #-------------------------------------------------------------------- # 入力データの確認もできればデータを保存してメールを送信 #-------------------------------------------------------------------- send_email($sendmail, '', $subject, $QUERY{'E-mail'}, $mailto,'', $cc, '', $msg) && &Error('メールの送信に失敗しました'); } html_head($bgcolor, $textcolor, $linkcolor, $vlinkcolor, $linkcolor, $bgimg, 10, 10, $title); print "<center>\n"; print "<p> </p>\n"; print "<table border=1 width=50%><tr><td align=center bgcolor=FFFF88>\n"; print "<font size=2><p> </p>\n"; print "ご協力ありがとうございました。<br>\n"; print "正常に送信しました。\n"; print "<p>"; 省略ばかりですが、情報の送信ボタンを押すと、完了画面が表示されるので、何故メールが届かないのか分かりません。 どなたか分かる方教えてください。 ちなみにサーバーはロリポップと、XREAを使用しております。 どうぞよろしくお願いします。

  • CGI
  • 回答数1
  • ありがとう数5

みんなの回答

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

#$sendmail = 'usr/bin/sendmail'; のコメントアウト#をはずしたの??  サーバーのマニュアルからsendmailの場所を確認すること sendmailのパスを確認 sendmailへの出力を標準準入力に出力してみる。  いずれにしてもマニュアルには書いてあるはず

関連するQ&A

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

    • 締切済み
    • CGI
  • sendmailについて教えて下さい。

    はじめまして。プログラムは初心者なので、よくわからないので誰かご教授お願いします。 フォームメール設置で、今までサーバーはLinxでsendmailだったのですが、windowsサーバーにも設置しようとおもったところwindowsサーバーはblatjですので、送信してくれません。そこでsendmail用に作られたcgiをblatjで動くようにソースを変えることは可能なのでしょうか?? 説明もへたで申し訳ないですが、親切な方ご教授お願いします。

    • 締切済み
    • CGI
  • sendmail

     今、HTMLの「form」タグからsendmailを使用してメールへ送るというCGIを組んで いるのですが、 $mailto='xxx@xx.xx'; と送信先のメールアドレスを設定し、 print MAIL "To: $mailto\n"; で送信させるという方法をとっています。  いままで、1メールアドレスに送信させているのですが、今回複数のメールアドレス に送るように設定したいのですが、うまくいきません。  どなたかアドバイスをいただけないでしょうか? よろしくお願いします。

    • ベストアンサー
    • CGI
  • cgi(perl) sendmailの使い方

    お手数ですがよろしくお願い致します。 レンタルサーバー(ロリポップ)にCGIを設置してサイトを作成しています。 メールフォームを作ってフォームから指定されたメールアドレスに自動返信するようにしたいのですが、うまく動作しなくて困っています。 利用環境は Perl(ver.5.8.8)でsendmailについては以下のようになっています。 ・SENDMAIL の利用は可能です。 postfixによるラッパーとなります。 ・sendmailのパスは/usr/lib/sendmail もしくは/usr/sbin/sendmail どちらでも利用可。 現在メールを送るところまでは出来るようになったのですが、届くメールを見ると宛先などのアドレスに余計なドメインが付加されているのです。 テスト中のcgiは大体以下のような感じです。 my $from = 'foo01\@bar.jp'; my $to = 'foo02\@bar.jp'; my $subject = 'test'; my $msg = 'test'; open(SDML,"| $sendmail -t -i") || die; print SDML "From: $from\n"; print SDML "To: $to\n"; print SDML "Cc: $cc\n"; print SDML "Subject: $subject\n"; print SDML "Content-Transfer-Encoding: 7bit\n"; print SDML "Content-Type: text/plain;\n\n"; print SDML "$msg"; close(SDML); これで送られてくるメールを見ると 宛先: "foo02@bar.jp"@usersXXX.phy.lolipop.jp (XXXは本当は数字。usersXXXはロリポップのサーバー番号というものらしいです。) こんな風に余計なドメインがくっついて送られてきます。 print SDML "To: $to\n"; → print SDML "To: foo02\@bar.jp\n"; という感じで直書きに直すとこの症状は起こらないのですが、変数で指定するとどうしても起こります。 自動返信するため宛先に変数を使いたいのですがどうしたらこの症状が出ないように出来るのでしょうか?

    • ベストアンサー
    • CGI
  • CGI掲示板のSendmail送信について

    CGI掲示板を自作していますが、書き込み送信メールのSendmailによる送信処理でつまづきました。 以下のように記述すると、管理人である自分には登録メールが送られますが、 管理人以外に、書き込みした人にも登録確認メールが送られるようにしたいんです。 #Sendmailによる送信処理 if (open(MAIL,"| $sendmail -t")){ print MAIL "X-Mailer:legend2\n"; print MAIL "To: $administrator\n"; print MAIL "Errors-To: $administrator\n"; print MAIL "From: $administrator\n"; print MAIL "Subject: $subject\n"; print MAIL "MIME-Version: 1.0\n"; print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n"; print MAIL "Content-Transfer-Encoding: 7bit\n"; print MAIL "$mail_comment\n"; print MAIL "\n"; close(MAIL); } } 以下のどれかを使うのでしょうか? print SENDMAIL "From: $sender <$from>\n"; print SENDMAIL "To: $to\n"; print SENDMAIL "Cc: $cc\n"; print SENDMAIL "Bcc: $bcc\n"; どうすれば良いか御教授下さい。宜しくお願いします。

    • 締切済み
    • CGI
  • 既存のページに組み込まれたCGIプログラムをカスタムしています。

    既存のページに組み込まれたCGIプログラムをカスタムしています。 組み込まれているページでは、ある企業の資料請求フォーム(30~40の製品ごとのチェックボックスがあり、その他メールアドレスと備考欄のようなテキストボックスがあります。)と、普通のメールフォーム(メールアドレスと問い合わせ内容を記入できる。)の2つのフォームがあり、同じCGIプログラムで動かしていますが、そのプログラム上では、送信内容の控え、申し込み確認のメールが記入者に送れず、そこを改善するのが目的です。 いろいろなフリーのCGIを見てみましたが、まだそこまで高機能なものを必要としない、初めてCGIを触る初心者のため、高機能なものは徐々に学んでからと思っています。 そこで素人ながらに思ったのが、既存のCGIへの追記です。 したいことは、今までフォームを入力すると指定先(企業)へ送信されますが、 記入者の記入したメールアドレスが、送信先となり、BCCで企業へ送られるようにできればいいなと思っています。 使われているCGIのメール送信にかかわる場所はココになると思います。 print MAIL "To: $mailto\n";の箇所が入力されたアドレスになり、BCCで企業宛てのメールアドレスを設定する項目を増やせばいいのかな?と思っていますが、どうやって入力されたメールアドレスを反映させるのか?、どうやってBCCを足すのか?(print MAIL "Bcc: 企業のメールアドレス\n";)などわからないなりに試してみましたが何をしてもうまくいかないです。どなたかご教授いただければと思います。 よろしくお願いいたします。 open(MAIL,"| $sendmail -t -i"); print MAIL "To: $mailto\n"; print MAIL "From: $mailto\n"; print MAIL "Subject: FormMail\n"; print MAIL "MIME-Version: 1.0\n"; print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n"; print MAIL "Content-Transfer-Encoding: 7bit\n\n"; print MAIL "$mailbody\n"; close(MAIL);

    • 締切済み
    • CGI
  • Perl メールフォーム複数のアドレスに。

    メールを複数のアドレスに配置したいのですがPGをどう変更すれば よろしいでしょうか? 参考ソース #!/usr/bin/perl # フォームメール #jcode.plの場所を設定 require "./jcode.pl"; # sendmailの場所を設定 $sendmail = '/usr/lib/sendmail'; # サンプルのタイトル $mail_title = "メール送信サンプル"; # ページの背景色 $bgcolor = "#FFFFFF"; # ページの文字色 $text = "#000000"; # 戻り先のURL $back_url = '***@aaa.co.jp'; # CGIプログラムの設置場所 $cgi_url = "./mail.cgi"; # 受信メールアドレス(送信先) $mailto = '***@aaa.jp';

    • ベストアンサー
    • Perl
  • CGIショッピングカートのsendmail

    CGIショッピングカートのsendmailが機能しません。 ショッピングカートを初めて設置します。 Shopping Cartの管理者通知メールと発注者返信メールが エラーも届きません。 参照サイト: http://bearmax.minibird.jp/cart.cgi ・サーバーはsendmailに対応しています。 ・check.cgiはすべてOK。 ・注文は、出来ます。「ご注文をお受けいたしました。誠にありがとうございました。」 表示後、反応がありません。 ・注文ログは書き込まれています。 教えてください。お願いします。 管理者メールアドレス $cf{mailto} = 'xxxxxxxx@gmail.com'; sendmailパス【サーバパス】 ※サーバーはminibirdで確認済みです。 $cf{sendmail} = '/usr/lib/sendmail'; #sendmailの -fコマンドが必要な場合 # 0=no 1=yes $cf{sendm_f} = 1;

    • 締切済み
    • CGI
  • Perl/CGIについて

    #!/usr/bin/perl use CGI; $cgi = new CGI(); $from = $cgi->param('from'); $namae = $cgi->param('namae'); $naiyou = $cgi->param('naiyou'); print "Content-type: text/html\n\n"; # 設定 $sendmail = '/usr/lib/sendmail'; $jcode = './jcode.pl'; $to = 'ha***@***.ne.jp'; #$from = ''; $subject ='名鉄と地下鉄の直通運転'; # 文字コードライブラリの読み込み require $jcode; # メール送信 &jcode'convert(*subject,'jis'); open(MAIL,"| $sendmail -t"); # ヘッダ情報出力 print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n\n"; # 本文出力 print MAIL " $namae\n\n"; print MAIL " $naiyou\n"; close(MAIL); #確認表示 print " $namae\n"; print " $naiyou\n"; print "メールを送信しました\n"; end #確認表示の所で表示が改行されない。

    • ベストアンサー
    • Perl
  • sendmailの動作確認

    CGIプログラムを勉強し始めて、まだ数ヶ月の初心者です。 CGIの処理結果をメールで返すというプログラムをつくっているのですが、sendmailでサーバーエラーを起こしているようです。 サーバー自体は、DOS_VマシンにNetBSDを入れたものです。WEBサーバーとして問題なく動いています。 会社のサーバーなのですが、作り上げた担当者はもうおらず、どういう構成になっているか詳しいところまではよくわかりません。sendmailのパスはわかり、それで単純にメールを返すようなプログラムを組んでみたのですが、それでもサーバーエラーになります。 プログラムは以下のような簡単なものです。 #!/usr/bin/perl $sendmail = '/usr/sbin/sendmail'; $to = 'aaaa@bbbb.jp'; $from = 'cccc@dddd.jp'; $subject = 'TEST'; $mes = <<"EOF"; TEST MAIL EOF open(MAIL, "| $sendmail -t"); print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n"; print MAIL $mes; close(MAIL); exit; プログラム的におかしなところはありますでしょうか? 実際、sendmail自体がちゃんと動作しているのかもわかりません。確認する方法というものはあるのでしょうか? よろしくお願いいたします。