レンタルサーバーでCGI(sendmail)に苦戦中です

このQ&Aのポイント
  • レンタルサーバーでCGI(sendmail)に苦戦中です。皆さんの知恵を教えてください。
  • サーバーは大塚商会のアルファメールを使用し、新Webに変更済みです。
  • CGIの動作環境は、ttp://www.alpha-mail.jp/support/server_info/pg/cgi.html を参照してください。
回答を見る
  • ベストアンサー

はじめまして、レンタルサーバーでCGI(sendmail)に苦戦中です

はじめまして、レンタルサーバーでCGI(sendmail)に苦戦中です 皆さんの知恵を教えてください 現在の状況  サーバー : 大塚商会 アルファメール         新Webに変更済み(CGI可能) 作り方として、直接CGIから実行せず、htmlからメールフォームを表示して そして、sendmail.cgiを実行する形式にしました 参考として ttp://www.site-cooler.com/kwl/cgi/5.htm を手本とさせていただきました 上記のファイルをダウンロードして、必要な箇所を変更しました   ・sendmail     パス:/usr/sbin/sendmail   ですが、なぜか…sendmail.htmは表示できて、送信ボタンを押すとエラーになります   「 internal Server Error 」 です 色々模索中なのですが、全然、解決の目処が立っておりません 模索中なのは  ●パーミッション : アルファメールでは「700」が推進とあったので700にしてみたら   sendmail.htmすら、動かず、755に変更しました   とりあえず、メールフォーム(htm)は表示されます  ●sendmail.cgiは、755・700とも動きません  ●CGIの動作環境は、     ttp://www.alpha-mail.jp/support/server_info/pg/cgi.html   です 下記のように変更しました ------------------------------------------------------------------ #!/usr/bin/perl # 初期設定 -----------------------------------------------# # # sendmailへのパス (変更済み) # $sendmail = '/usr/sbin/sendmail'; # # jcode.plへのパス # $jcode = './jcode.pl'; # # メールの送付先 # $to = 'QQQQQQQ@QQQQQQ.co.jp'; # # メールの題名 # $subject = 'CGIメール送信サンプル'; # # 確認ページより戻るでリンクされるURLを指定 # $back = 'XXX://XXX.XXXXX.XXXX/'; # # 呼出し元。チェックする時はhttpから始まるURLを指定 # $referrer = ''; --------------------------------------------------------- どうかアドバイスをお願いします

  • CGI
  • 回答数2
  • ありがとう数11

質問者が選んだベストアンサー

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

メール送信フォームのHTMLで、フォームの提出先がHTML自身になってませんか? >直接CGIから実行せず、htmlからメールフォームを表示して。 ・・・【中略】・・・ >アルファメールでは「700」が推進とあったので700にしてみたら >  sendmail.htmすら、動かず、755に変更しました ・・・【中略】・・・ >送信ボタンを押すとエラーになります >  「 internal Server Error 」  以上から想像できるのは、 ・HTMLの他人権限がOだと動かないけど、ソースがそのまま表示されるのをブラウザ(たぶんIE)は拡張子で判断して表示させている。標準的なブラウザだと、text/plainでおられてきたデータはテキストで表示されるので、そこで気がつく。 ・HTMLを実行プログラムとして実行しようとしてエラーになる。  HTML内の<form action="[パス]sendmail.cgi" method="post">にすると良いはずでか。  本来は、HTMLもCGIから出力させる方が良いです。スクリプトの __END__  以降にそのままHTMLのソースを記述して、 while(<DATA>{print;}  とか・・

yama12345
質問者

お礼

お礼が遅くなってすみません 結局、悪戦苦闘の末、解決いたしました ありがとうございます

yama12345
質問者

補足

すみません 質問者でございます 自己解決というと、今後の為にもよくないと思い、解決した方法を載せさせていただきます 結局、記載には殆ど間違いがありませんでした 一部、単純なミスがありましたが、動かない事もない程度です サポートにも電話したり、詳しい知人にも見てもらい結局ダメでした 最終的に、バイナリ、アスキーコードの転送方法で引っかかっていたようです サーバーにアップする際に、Internet Explorer でFTPサイトを開き、そのままアップしておりました ですが、これが悪かったようです FFFTPでサーバーにアップすると、CGIが動きました!!! 本来、どちらでもアップには支障がないとサポートにも確認しておりましたが なぜか、アップ時に問題が発生していたようです おそらく、転送時にバイトが飛んでいるか、相生がよくなかったようです 回答を頂きました皆様に感謝いたします

その他の回答 (1)

回答No.1

ライブラリ(jcode.pl)がスクリプトと同じディレクトリに存在してますか? このスクリプトは文字コードの変換に古式ゆかしい jcode ライブラリを使うようですので、こいつが無いとうごきません。 (perl のパスとパーミッションが合っているならコレくらいしか考えつかないです) ちなみに >sendmail.htmすら、動かず、755に変更しました ここの意味がわからない。 html ファイルのパーミッションを 755 にしたって事? html はデフォルトのまま( 604 とか 644 )にしときましょう。

yama12345
質問者

お礼

お礼が遅くなってすみません 結局、悪戦苦闘の末、解決いたしました ありがとうございます

関連するQ&A

  • 他のサーバのSendmailへのパスは?

    PerlでフォームメールとかのCGIを作成したときSendmailへのパスを記述すると思いますが、ローカルでSendmailを動かしているときは /usr/sbin/sendmail とかになりますが、他のサーバのSendmailを使いたいときはどのように指定すればいいのですか?

    • ベストアンサー
    • Perl
  • mailformのCGI設置で「Internal Server Error」が出て・・・

    いつもお世話になります。 メールフォームのCGIを設置しようと あれこれやっているのですが 「Internal Server Error」と表示されうまくいきせん。 たぶんCGIファイルの記述がマズいのだと思うのですが・・・ パーミッションなどはマニュアルどおりに設定してます。 CGIの一部を掲載してみますので よろしくお願い致します。 #!/usr/bin/perl #jcode.pl のパス(相対パス指定) $jcode = './jcode.pl'; #sendmail のパス(要変更) $sendmail = '/usr/sbin/perl/sendmail'; #一時保存用ファイルのパス(相対パス指定) $tempfile = './tempfile.dat'; #メールを受け取るアドレス $getmail = '********@rose.plala.or.jp'; #送信完了画面のパス(http://~の絶対パス指定) $complete = 'http://challenger.****.ne.jp/*********/public_html/mailform/complete.html'; #送信確認用テンプレートのパス(相対パス指定) $checktemplete = './check.html'; #エラー表示用テンプレートのパス(相対パス指定) $errortemplete = './error.html'; #コピーメールの送信者名 $copymailfrom = 'from@form.mail'; #入力フォームのアドレス(http://~の絶対パス) $enterformurl = 'http://challenger.****.ne.jp/*********/public_html/mailform/form.html'; #このCGIのアドレス(http://~の絶対パス) $ownurl = 'http://challenger.****.ne.jp/*********/public_html/mailform/mail.cgi'; ディレクトリやメールアドレスの部分の「*」は ブラインドのために変更して載せてます

    • ベストアンサー
    • CGI
  • sendmailからqmail:CGIから送れない

    こんばんわ。 sendmailコマンド置換えについてです。 OS:Fedora7 メールサーバー:qmailとdovecot vpopなど使ってます。 メールサーバーについては、 バーチャルでもローカルからは送受信出来てます。 cgiがユーザーさんがHPのcgiからメールを送って来ると、 内容を自動返信するような感じのcgiですが。 テストでやってみても。 ローカルの受信すら来ない状態です。 もちろん、自動返信で返っても来ません。 以下をしました。 chmod 0 /usr/lib/sendmail chmod 0 /usr/sbin/sendmail mv /usr/lib/sendmail /usr/lib/sendmail.bak mv /usr/sbin/sendmail /usr/sbin/sendmail.bak ln -s /var/qmail/bin/sendmail /usr/lib/sendmail ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail apacheのエラーは、 sh: /usr/sbin/sendmail: Permission denied, referer: http://www.hogehoge.com/cgi-bin/test.cgi Permission関係でしょうか? sendmailをls -lで調べると lrwxrwxrwx 1 root root 23 Jun 5 19:05 /usr/sbin/sendmail -> /var/qmail/bin/sendmail です。 その他調べる箇所ありますでしょうか? 後・・・ 私のサーバーでは、 newaliases とすると・・・ bash: /usr/bin/newaliases: Permission denied になります。 パーミッションは777のroot rootになってます。 宜しくお願いします。

  • sendmailの設定がわかりません。

    sendmailの設定がわかりません。 別会社からアイルへサーバ移行したのですが 以前のサーバ会社で使えていたメールフォームが アイルで試した所、エラーが出て、メールフォームの送信ができない状態です。 メールフォームのset.plというファイル内の # SENDMAILの設定 $sendmail = '/usr/sbin/sendmail'; 上記記述の部分の変更かとは思うのですが どう変更してよいのか、解りません。 知識も少なく、参考になるような事でも構いませんので 教えていただければと思います。 よろしくお願い致します。

  • 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でメールが送信されない。

    こんにちは。 自動応答メールフォームのCGI「ThemeResMail」というのを 使っているのですが、うまく動作しません。 このcgiをアップしたのは以下のレンタルサーバーです。 http://www.dot5hosting.com/dot5/ 使用しているcgiはこれです。 http://apps.cside.com/theme/tmresmail/ メール送信完了画面は出るのですが、 送信者、あて先共にメールが届きません。 同じ設定で他のサーバー(xrea)ではうまくいきました。 sendmailとperlのパスは調べた所、間違いないようです。 ■dot5でのパス sendmail /usr/sbin/sendmail Perl /usr/bin/perl 何が原因なのかどんな事でも結構ですのでコメント頂けると助かります。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • sendmail利用可能な無料レンタルサーバーを探しています。

    sendmail利用可能な無料レンタルサーバーを探しています。 こちらの http://www.cj-c.com/cgi_s/cbbs.htm CGIスクリプトをお借りして掲示板を作ろうと思っているのですが、投稿者同士で投稿通知メールが届くようにしたいと考えております。 ですがなかなかsendmail利用可能な無料レンタルサーバーがありません。あってもメールフォームでの利用に限られた規定しかなく困っています。 やはり有料サーバーしかないのでしょうか? 似たようなsendmailの使い方をしている方がいらっしゃいましたらどこのサーバーがオススメか教えて頂けないでしょうか。

    • 締切済み
    • CSS
  • メールフォームCGIの設置について

    下記のサイトのメールフォームCGIをさくらインターネットのサーバーで設置したいのですが、うまく作動せず送信できません。 前にロリポップサーバーで設置したところ、作動し送信も問題なくおこなえたのですが、パーミッションやそれぞれのファイルの中身までロリポップで設置したものとまったく同じファイル・条件でさくらインターネットのサーバーに設置したのですが「500 Internal Server Error」がでてしまい、送信できません。 CGIの提供先は下記になります。 http://pgd.jp/cgiscript.html さくらインターネットのパスなどは下記の通りです。 Perl:5.8.x perl:/usr/bin/perl sendmail:/usr/sbin/sendmai CGIの動作環境は下記の通りです。 Perl5 # /usr/sbin/sendmail が使えること # モジュール HTML::Template, Jcode が動作すること 色々試してはみたのですが、CGIやPerlの知識はほとんどありませんので結局何をやってもだめでした。 パーミッションの設定やファイルのアップロードは間違いなくできております。 よろしくお願い致します。

    • ベストアンサー
    • CGI
  • postmail.cgiで500接続エラーが出て困ってます

    HPビルダー11でHPを作成しています。 メールフォームを作成するために、KENT-WEBさんの「PostMail」と いうフリーソフトを使っていますが、500接続エラーが 出てうまくいきません。 設定は取説どおりに3回やり直したので、たぶん大丈夫だと思います。 変更箇所は メモ帳の先頭を #!/usr/bin/perl # → mimew.plを指定 $mimew = './mimew.pl'; 送信先にメルアドを半角入力 # sendmailのパス $sendmail = '/usr/sbin/sendmail'; 以上です サーバーはカゴヤです。下記に書かれていたとおりに設定しました。 http://www.kagoya.net/option/cgi.html 余計な全角スペースもありませんし、大文字小文字もチェック しました。 チェックモードでも同じエラーが出ます。 丸二日頑張ってみましたが、何が問題なのか全くわかりません。 どうか、よろしくお願いします。

  • メールフォーム作成でInternal server errorと出ます。

    皆様こんばんは。メールフォーム作成で困っております。 練習中なのでありますがホームページビルダー11に付いていました メールフォームCGIを利用しレンタルサーバーへUPしてみましたが Internal server error500と出てしまいます。 レンタルサーバーはPerlとsendmailはOKです。 ファイル構成です。 index.html kansou.htm kansou.cgi  jcode.pl です。同じディレクトリです。FFFTでパーミッションは755にしてあります。アスキーモード利用 kansou.cgiの最初のあたり ------------------------------------ #!/usr/bin/perl # # (C) COPYRIGHT International Business Machines Corp. 1999 # All Rights Reserved # #------ sendmailパスの指定 ------------------------------------- # 以下の、$mailprogに、サーバー上にある"sendmail"コマンドをフルパスで # 記入します。詳しくは、プロバイダのガイドに従ってください。 # (例) $mailprog = '/usr/lib/sendmail'; $sendmail = '/usr/sbin/sendmail'; $mailto = 'aaa@aaaa.co.jp'; #--------------------------------------------------------------- require 'jcode.pl'; ここまで。 ------------------------------------- kansou.htmの最初あたりのHTML <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>感想ページ</TITLE> </HEAD> <BODY bgcolor="#ffffff"> <H2 align="center"><I>お問い合わせフォーム<BR> <BR> 下記に必要事項をご記入の上、送信ボタンを押して下さい。</I></H2> <HR> <FORM action="kansou.cgi" method="POST"><INPUT type="hidden" name="to" value="aaa@aaaa.co.jp"> <CENTER> このあたりまで記載します。 どこが悪いのか何度試してもよく分りません。 どなたかアドバイスして頂けないでしょうか。

    • ベストアンサー
    • CGI