いきなり社内でメールフォーム作れと言われて、
上からせっつかれる毎日の事務子です・・・。
こちらのサイトさん↓のCGIスクリプト?を使用させて頂こうと思ったのですが、
http://apps.cside.com/cgi/mail/kisomail/
注意事項とプロバイダの設置方法↓を確かめても、http://www.ocn.ne.jp/hosting/usersupport/mw/hp_c …
送信ボタン押下で「Internal Server Error」が表示されるばかりで
早くも1週間が経ちました・・・。
もう限界です。
「これやった?」「こっちは?もう一度確認してみれば?」とかでも歓迎です。
助けて下さい。TT
とりあえず、送信したいと思って、
sendmail.cgiの処理開始(sub start)では、
sub start {
&send_mail();
exit(0);
}
以外はコメントアウトしました。(「#」でいいんですよね?)
他は、「必須」となっている部分以外は変更していません。
ちなみに、http://mmm3079.wh2.ocn.ne.jp/cgi-bin/secure/chkp …
のスクリプトチェッカーで確認したところ、
--------------------------------------------------------------
syntax error at /u/web/gscomc/cgi-local/sendmail.cgi line 83, near "sub start "
syntax error at /u/web/gscomc/cgi-local/sendmail.cgi line 104, near "}"
/u/web/gscomc/cgi-local/sendmail.cgi had compilation errors.
--------------------------------------------------------------
とエラー?が表示されました。
(処理開始できない?何で???)
フォルダ構成は、プロバイダのCGI設置方法に、cgi-localの中に
フォルダはおくな!とあったので、data、libフォルダなどから出して、cgi-localフォルダ直下においてあります。
蛇足ですが↓
JavaScriptでメーラー起動させて送ればいいか、と他でも質問させて
頂きましたが、スパムがヤバイと言われ、一応企業の公式HPですし、
やっぱりCGIを…と思っています。
PHPなら簡単じゃない?とおっしゃる方もいらっしゃいましたが、
HTMLもわけわからんし、これ以上混乱したくないです…。
(CGIのようなものなのでしょか??<PHP)
どうか、よろしくお願いします。<(_ _)>
No.8ベストアンサー
- 回答日時:
>う~ん・・・文字列検索してみましたが、requireはありませんでした。
いや、sendmail.cgiの80行目と82行目ですよ。sub startのちょっと上なのですが・・。ひょっとして私が(提示されたURLから)ダウンロードした基礎メール(v.1.05)と違うソース・・ってことはありませんよね。
!!!!!!!!!!
削除してしまって復活させ損ねてました!!
すいません!!!<(_ _)>
上記を修正後、基礎メール(v.1.05)のreadmeの
【E:補足:メールフォームHTMLの作り方について】
を設定したところ…、
いけました!メール来ました!!=3
これで後はHTML側をちょっとカスタマイズするだけで、完璧です!
(ひとまず公開できる形になります!)
根気よく付き合って下さって、本当に感謝しきれません。
あと、アイコンが来るのを待つだけなので、来週頭にはサイトリニューアルできそうです。
はぁ…どっと肩の荷がおりた感じです。苦笑
まだ、HTMLの手直しなどありますが、やる気でてきました!笑
本当の本当にありがとうございました!!
No.7
- 回答日時:
cgi-localの下にディレクトリを作っていないとすれば、
require( "./lib/jcode.pl" );
とか
require( "./lib/ap_mimeenc.pl" );
のpathも書き直されてますよね?文法チェッカでノーエラーなのにInternal Server Errorになるというのは「requireしているファイルがない」というのが一番可能性高いので。
う~ん・・・文字列検索してみましたが、requireはありませんでした。
ちなみに、lib、dataでも検索かけましたが、見当たらなかったです。
現在のcgi-localの中は、
ap_mimeenc.pl
jcode.pl
flock.cgi
lastmail.cgi
sendmail.cgi
となっています。
No.6
- 回答日時:
>やはりInternal Server Errorと出ます。
Internal Server Errorですか?どこか書き間違えてませんか?「やはり」ということですが、初期状態(宛先を変えただけ)のときは画面が真っ白になるのとメールが送られないだけでInternal Server Errorではなかったんですよね?
>HTML側は、
><FORM method="POST" action="cgi-local/sendmail.cgi">
>としているのですが、こちらは大丈夫ですよね?;
「CGIはcgi-localに置くように」というプロバイダからの指示なんですよね?そのpath指定はこちらではわかりません。普通のhtmlと同階層で「名前だけcgi-localにしておくこと」ということですかね・・。
#このあたりが最初に書いた「サーバ環境を」ということなんですが・・。どちらのサーバで
#しょうか?サーバの(CGIについての)説明があるURLでもあるといいのですが。
>Internal Server Errorではなかったんですよね?
初期状態とは、sub start関数部分だけのことを言ってました。><;
(コメントアウトを外しましたよ~、ということです。)
その時、「print "Content-type: text/html\n\n;」は生きてました。
(で、真白画面)
分かり辛くて申し訳ないです。;;
>「CGIはcgi-localに置くように」というプロバイダからの指示なんですよね?
です。サーバはOCNです。
http://www.ocn.ne.jp/hosting/usersupport/mw/hp_c …
↑ここにCGI設置方法についてが載っています。(見れますか?)
ちなみにスタンダードコースらしいです。
>普通のhtmlと同階層で「名前だけcgi-localにしておくこと」ということですかね・・。
それ以外考えられなかったので、今はそうしてます…。;
No.5
- 回答日時:
(追記です)
>$finish_url = './finish.html';
を相対パスでなく、URLで書いてみてください。あと
>$data_dir = './data/';
>$lock_dir = './lock/';
なども
$data_dir = './';
$lock_dir = './';
にされてますか?(ディレクトリから出したんですよね?)
#しかしcgi-localなんてとこで動かさないといけないサーバなんて、久しぶりだ(汗
お世話になります。
No4,5と作業をしましたが、やはりInternal Server Errorと出ます。TT
HTML側は、
<FORM method="POST" action="cgi-local/sendmail.cgi">
としているのですが、こちらは大丈夫ですよね?;
No.4
- 回答日時:
>shimixさんのアドバイス通り、コメントアウトはずして、
>初期状態で動作させているのです。
それは失礼しました。ではNo.2のお礼に書いていた
>Perlスクリプト内に必ず「print "Content-type: text/html\n\n"」ま
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>たは、Perlモジュール"CGI.pm"を参照する記述(下記参照)が含まれて
>いることを確認してください。
という部分は外してください。LocationでURLを遷移するのに、先にContent-Typeを出してはいけません。エラー表示などはCGI内でContent-typeを自前で出しているハズです。
No.2
- 回答日時:
>syntax error at /u/web/gscomc/cgi-local/sendmail.cgi line 83, near "sub start "
82行目に;セミコロンがないとかそんなもんでしょ。
よく見てみましょう。
(No1の作業後に作業しています。)
ご回答ありがとうございます!
プロバイダのCGI設置方法に、
===============================================================
Perlスクリプト内に必ず「print "Content-type: text/html\n\n"」ま
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
たは、Perlモジュール"CGI.pm"を参照する記述(下記参照)が含まれて
いることを確認してください。
===============================================================
波線部分をそのままコピペしたら、セミコロンがありませんでした。orz
ご指摘ありがとうございます!
そして・・・その一文を追加したら何事もなく次のページに進んだのですが、真白なページです・・・。
("index.html")を指定しているはずはのですが??)
URLは、http://○○○/cgi-local/sendmail.cgiとなっていて、
メーラーを起動させましたが、受信できてませんでした…。
他に何がいけないのでしょう・・・。TT
>皆様
大変お手数ですが、引き続きお願いいたします。
No.1
- 回答日時:
サーバの環境を書いてください。
>syntax error at /u/web/gscomc/cgi-local/sendmail.cgi line 83, near "sub start "
行数が違いすぎて、どうなっているか推測できません。sub startは98行目のハズですから、ここまででも15行は削っているんですよね?
基本的に「perlとsendmailへのpath」「宛先メールアドレス」以外は何も触らない状態で動作確認するのが先です(それからカスタマイズすることになります)。
ご回答ありがとうございます。TT
サーバの環境って具体的にどんなのを書けばいいのでしょう?;
---------------------------------------------------------------
## 処理開始
# @return void
sub start {
#入力検査
&check_params();
#ロック
&lock();
#2重送信検査
my $check = &check_lastmail();
#ロック解除
&unlock();
#2重送信でなければ、メール送信
if( $check ) { &send_mail(); }
&send_mail();
#終了画面の表示して終了
print "Location: $finish_url\n\n";
exit(0);
}
---------------------------------------------------------------
こうなっている部分を、
&send_mail();
exit(0);
以外全部コメントアウトにしてました。
そして、何も触らない状態でやってみて、Internal Server Error
がでました…。
あ、でもスクリプトチェッカーは、
/u/web/gscomc/cgi-local/sendmail.cgi syntax OK
とでました!(OKってことですよね)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- CGI htmlからcgiを自動的に起動させたい 1 2023/02/21 19:39
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- Perl perlの構文でカンマの意味が分からない 2 2022/10/30 01:53
- CGI 「CGIにより定義されていない」とは・・・ ? 3 2023/01/01 12:00
- CGI 一番簡単なCGI,掲示板の設置教えてください 4 2023/08/22 10:47
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
CGI経由PDFダウンロードでエラー
-
(フリーの)ツリー掲示版CGI、...
-
フォームを再送信しますか?
-
latex使い方
-
CGIカウンターの画像が表示され...
-
ホームページでCGIのフォームを...
-
CGIって何ですか?簡潔に教えて...
-
/bin/awk '{print $5}'ってどう...
-
POSTメソッドの最大容量について
-
httpsへの移行について、II
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBでcgiを動作させるには
-
cgiで拡張子.cgiと拡張子.pl...
-
PerlのCGIでフォームのテキスト...
-
<form method="post" action="...
-
CGI.pmとcgi-lib.plの差異につ...
-
ファイル名の抜き出しについて
-
cgiから別のcgiへの変数...
-
知恵熱出そうです・・・;
-
アップロードされてきた画像フ...
-
月の第一週とは
-
よくある 『 第○(1・2・3・4・...
-
エクセルで毎月第2週日の水曜日...
-
6月の第2 第4火曜日は何日...
-
DBを10件毎に表示ページング...
-
毎○曜日って、使いますか?
-
エクセルで相対パスの書き方を...
-
週2回のペースって だいたい何...
-
apacheでPerl CGIが作動せず、5...
-
燃えるゴミの日は何曜日ですか?
-
[Excel] ある日の曜日が当月の"...
おすすめ情報