メールフォームの設定で困っています。ウィーバーで作ったフォームで訪問者が送信ボタンをクリックするとその内容が指定のメールアドレスに届くようにしたくてpostmailを入手しました。書籍に書かれている通りに編集しメールフォームのhtmlファイルのアクションに指定しました。確認作業をしてみると送信ボタンを押すとpostmail cgiのコード画面が表示されてしまいます。レンタルサーバーを使用していますが、そちらのサーバーの仕様を調べperlパス、sendmailパスを入力しています。パソコンはマックです。ネットでも色々検索してみたのですが初歩的すぎるのかそこまで詳しくは書かれていずこちらで質問させて頂きました。どなたかお教え頂けたらありがたいです。よろしくお願い致します。
A 回答 (9件)
- 最新から表示
- 回答順に表示
No.9
- 回答日時:
> メールフォームの送信ボタンを押した後、入力した内容の確認画面に切り替わり、
ということは入力フォームから確認画面までのプロセスの動作確認はOKなわけですね。
> [上記内容で送信]というボタンを押すとエラー画面で
> Not Found
> The requested URL /tmpl/postmail.cgi was not found on this server.
> と表示されます。サーバにないって出てくるので、FAQにある通り、サーバがCGIファイルだと認識していないのだと思います。
いえ、このメッセージは「/tmpl/postmail.cgiがサーバ上にない」という意味ですので、文字通り確認画面からのpostmail.cgiの参照先パスが正しくないという事になります。実際、ディレクトリ構成例からすると"postmail.cgi"の場所は"/postmail/postmail.cgi"になる筈ですが、上記のエラーメッセージによれば "/tmpl/postmail.cgi"、つまり"tmpl"ディレクトリ下に"postmail.cgi"がある、という様に認識されています。多分、どこかでパスの設定を間違っているか、ファイルの置き場所が正しくないかのいずれかの状態になっていると思われます。
再度、パスとディレクトリ構成を確認されてみては。
だんだん近づいてきた感じがしてます、ありがとうございます。
置き場所が悪いか、パスの設定が間違ってるかですねたぶん!
確認してみます。
No.8
- 回答日時:
追記です。
PostMailの配布元であるKENT-WEBさんのサイトのFAQは読まれましたか?
【FAQ 7:ダウンロード状態となります(又はソース表示されてしまいます)】
http://www.kent-web.com/support/faq/faq1-2.html#7
ANo.5、ANo.7のアドバイスを実行された上で上記も参考にされては。
なお、postmail.cgiのパーミッションに関しては配布元サイトの解説にて、「755 or 705」(一般サーバ上)と記載されております。
http://www.kent-web.com/data/postmail.html
このFAQは読んでいませんでした。ありがとうございます。
メールフォームの送信ボタンを押した後、入力した内容の確認画面に切り替わり、[上記内容で送信]というボタンを押すとエラー画面で
Not Found
The requested URL /tmpl/postmail.cgi was not found on this server.
と表示されます。サーバにないって出てくるので、FAQにある通り、サーバがCGIファイルだと認識していないのだと思います。レンタルサーバに問い合わせた方がいいと思い、昨日問い合わせフォームから質問を送ってあるので返事待ちなのですが、もう少しFAQを詳しく読んでみて試せる事がないか考えてみます。ありがとうございます!
postmailフォルダはcgi内で下記の内容が記載されてあったので、index.htmlの入っているフォルダの中に入れてあります。場所に問題がないのかも不安なのですが。
【ディレクトリ構成例】
public_html / index.html (トップページ)
|
+-- postmail / postmail.html
| postmail.cgi [705]
|
+-- lib / jcode.pl [604]
| io-socket.pl [604]
| mimew.pl [604] ... 任意
|
+-- data / log.cgi [606]
|
+-- tmpl / body.txt
conf.html
thx.html
err1.html
err2.html
No.7
- 回答日時:
No2 です。
まず、cgi の実行関しては、レンタルサーバの説明で、No5 で回答された内容しか記述無いので有れば、設置は何処でも問題ないと判断出来ます。
次に気になるのが
>FTPエラーが発生しました。リモートフォルダ/public_htmlを開く事が出来ません。アクセスが拒否されました。ファイルが存在しないか権限の問題が考えられます。とメッセージが出たので/だけにしたら繋がった為ホストディレクトリは/のみにしてあります。
の部分です。
基本的に、cgi に限らす公開する html ファイル1式は、サーバ側に、Public_html ディレクトリ(フォルダ)が有れば、Public_html ディレクトリに公開する事になりますが、間違い、問題は有りませんか?
もし、Public_html ディレクトリに公開出来ていなければ。
始めの質問に有った
>確認作業をしてみると送信ボタンを押すとpostmail cgiのコード画面が表示されてしまいます。
と矛盾すると思います。
上記の状態は、サーバにファイルをアップロードし、フォームページを開き、送信ボタンを押した状態と判断するので有れば、フォーム用 html ファイルや cgi ファイルは、Public_html ディレクトリ公開されていると思います。
ご確認ください。
すみません、色々試しながらやってたので説明がおかしくなってしまって。
メールフォームから送信ボタンを押すと確認画面に切り替わるのでcgiを読み込んでる事になると思っていたのですが、上記内容で送信というボタンを押すとサーバにないというエラーが出てきてまた悩んでいます。
みなさんのアドバイスを読み返してがんばってみます。
ありがとうございます。
No.5
- 回答日時:
hunny-beat 様は、まずレンタルサーバ選びで間違っているとかも知れません。
今回の確認点はまず、レンタルサーバのマニュアルを熟読する事です。マニュアルが無いようなレンタルサーバなら、サポートに電話して、cgi の実行環境に関して、どのような制限があるか確認する事をお勧めします。
また。
>出来れば自分で作ったレイアウト、デザインのフォームを使用したいと考えています。
との事ですが、レンタルサーバ次第では、cgi はレンタルサーバ側で用意されており、項目等を含め自由に設定、デザイン出来るレンタルサーバも有ります。始めにレンタルサーバで何が出来るのか、確認して置く事をお勧めします。
レンタルサーバの方には、cgiに関して書かれているのが、
CGIパスPerl: /usr/bin/perl, /usr/local/bin/perl, /usr/sbin/perl
sendmail: /usr/sbin/sendmail
sendmailが正常に動作しない場合は、sendmail: /usr/sbin/sendmail -t をお試しください。
とあり制限うんぬんが見当たらないのですがもう一度じっくり熟読してみて出てないようであれば電話で聞いてみます。くじけそうになるとここを頼りにしてしまうのですが何度も親切に回答下さりありがとうございました。がんばってもう少し自分なりに理解をしようと思います。
No.4
- 回答日時:
> postmailフォルダの置き場所なのですが、下記の構成を見てpublic_html / index.htmlの階層下に置くという事でホームページ作成フォルダの中にpostmailフォルダを入れるという事でしょうか?
いやだからですね、postmail.cgiの事を云々する前に、私にしろ他の回答者様にしろアドバイスしていることは、質問者様の使用しているレンタル・サーバのプランにおけるCGIに関するサービス内容がどの様になっているかを先ずは確認して下さい、という事なんですが…。
先程例としてあげた様に、ホスティング・サービスの内容に依っては任意のCGIの使用が禁止されていたり、そうでなくてもCGIを実行できるディレクトリやルールが決まっていたりしますので、質問者様のそういったWebサーバ環境が明らかにならない限り、第三者には答えようがないのだという事をよくご理解下さい。
> サブディレクトリを作るとはどのような事を指すのかなど、
いえ今回問題にしているのは「サブディレクトリを作る」云々ではなく、質問者様の使用されているホスティング・サービスのCGIの実行環境がどうなっているのか、という事です。public_html以下でしたら通常のサブディレクトリは自由に作れる筈ですし。多分先程の例の2番目あたりを混乱して受け止められているのだろうとは思いますが…。
> レンタルしているサーバーのホームページにはその辺が詳しく出ていなくて
「サブディレクトリの作り方」とかは出てないでしょうね、ご自分のローカル環境上で作るのと何ら変わりはないので。
しかし、CGIの実行環境については必ず出ています。使えるか・使えないか、使えるのであればどの様な約束事があるのか、という事は必ず。
ご自分の契約している「プラン」の内容を確認して下さい。そこにCGIが実行できるかできないか書いてある筈です。更に、契約者のアカウントでログインできるユーザガイド(管理者ページ)がある筈ですので、そちらのCGI使用に関する説明を読んで下さい。
> 基本的な細かい事が解らなすぎて何がなんだか状態です。
「基本的な細かい事」を先ず理解しなくては、何もできません。任意のCGIを実行したいのであれば、最低限上記の事は理解しておかなければ無理です。運用・カスタマイズはそれがクリアになったその後の段階の話です。
No.3
- 回答日時:
> ダウンロードしたファイルが小文字の拡張子cgiだったので、おっしゃる通りに大文字に書き換えてみましたが変化なしです。
ANo.1の回答者様のご指摘を間違って解釈されておられます。大文字にしろとは仰っていません。拡張子はオリジナルの小文字".cgi"のままで良いです。
> >ファイルを設置したディレクトリは CGI が許可されたディレクトリか確認
> これがよくわからないのでどのように確認したらいいのでしょうか?
ホスティング・サービスのサービス内容に依りますが、CGIが使える(CGIファイルを置く)ディレクトリが予め決められていたり、CGIの実行に関して色々と制限があったりします。
【例】
・(ホスティング・サービス側で予め設置済みの)/hogehoge/cgi-bin/ のディレクトリに置くこと("cgi-bin"という名称は一例。そうではない場合もあり)。
・/hogehoge/の下に更に任意にサブディレクトリを作ってそこで個別にCGIを実行する事も可能だが、そのディレクトリ名は必ず"cgi-bin"(上記と同様)にすること。例えば、/hogehoge/foo/cgi-bin/ 等。
・ホスティング・サービスが予め用意したCGIのみ使用可。ユーザの任意のCGIの実行は許可しない。
ユーザガイドを読めば必ずそういった事は書いてあります。先ずは再度それをよく読み、ご自分の環境がどの様になっているかを確認される事をお奨めします。
ありがとうございます、間違って解釈していたようで…。
cgi-binフォルダが書籍にも出ていてこのフォルダが解らなくてなんだろうと思っていました。レンタルサーバーのディレクトリ構造に/public_htmlとあるのですが、サイト定義のホストディレクトリの所に打ち込むのかと思って入力したのですが、
FTPエラーが発生しました。リモートフォルダ/public_htmlを開く事が出来ません。アクセスが拒否されました。ファイルが存在しないか権限の問題が考えられます。とメッセージが出たので/だけにしたら繋がった為ホストディレクトリは/のみにしてあります。
postmailフォルダの置き場所なのですが、下記の構成を見てpublic_html / index.htmlの階層下に置くという事でホームページ作成フォルダの中にpostmailフォルダを入れるという事でしょうか?
基本的な細かい事が解らなすぎて何がなんだか状態です。サブディレクトリを作るとはどのような事を指すのかなど、レンタルしているサーバーのホームページにはその辺が詳しく出ていなくてどこで調べたらいいのか途方に暮れています…。すみません、回答して下さってるのに理解出来ていないみたいで…。
【ディレクトリ構成例】
public_html / index.html (トップページ)
|
+-- postmail / postmail.html
| postmail.cgi [705]
|
+-- lib / jcode.pl [604]
| io-socket.pl [604]
| mimew.pl [604] ... 任意
|
+-- data / log.cgi [606]
|
+-- tmpl / body.txt
conf.html
thx.html
err1.html
err2.html
No.2
- 回答日時:
No1 さんに補足、後はパーミションも確認してください。
またファイルを設置したディレクトリは CGI が許可されたディレクトリかもご確認ください。また、フォームCGI に関しては、レンタルサーバで標準的な物が用意されていないでしょうか、レンタルサーバで用意されているので有れば、標準で用意されている物を利用した方が良いと思います。
回答ありがとうございます。パーミッションは設定してあります、postmail.cgiとjcode.plに権限の設定をしました。ただ、
>ファイルを設置したディレクトリは CGI が許可されたディレクトリか確認
これがよくわからないのでどのように確認したらいいのでしょうか?
あと、レンタルサーバーで用意されているかよく確認はしてみますが、出来れば自分で作ったレイアウト、デザインのフォームを使用したいと考えています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- JavaScript ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で 1 2022/05/11 11:01
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- その他(メールソフト・メールサービス) 大阪市プレミアム付き商品券のweb申し込みで楽天モバイルのEメールだと返信メールが届かない 2 2022/09/19 17:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1つ下の階層のフォルダに相対...
-
拡張子htmlの表示について
-
HPを転送したのですが・・・。
-
ベーシック認証 CSSリンク
-
htaccessを利用してurl正規化
-
ひとつのドメインで複数サイト...
-
リンク先に日本語フォルダがあ...
-
webサイトの「index」を非表示...
-
リンクのindex.html省略
-
既存ウェブサイトをWordPressへ...
-
Excelで、社外秘(閲覧のみ)と...
-
ホームページでファイルをダウ...
-
HTMLからフォルダを開きたい
-
iPadの標準ブラウザでローカルH...
-
<!DOCTYPE html>あってますか?↑
-
form action="#"
-
一つのリンクに複数のURLを指定
-
インラインフレーム内のアンカ...
-
コマンドプロンプトでパラメー...
-
googleドライブで、PDFファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1つ下の階層のフォルダに相対...
-
複数のindex.htmlを作ってもい...
-
htaccessを利用してurl正規化
-
リンク先に日本語フォルダがあ...
-
URLに「.html」の拡張子がなく...
-
.htmと.htmlの違い
-
フォルダ内の最初のファイル名...
-
XREA使用で作成したHTMLファイ...
-
サーバー内のフォルダにある写...
-
トップページ「/index.html」の...
-
フォルダにはダミーでもindex.h...
-
htmlでリンクに勝手にindex.htm...
-
URLの書き方
-
リンクのindex.html省略
-
index.htmlファイルはどこに?
-
Application.OnTimeで引数付き...
-
ホームを index.html から inde...
-
JSPと異なるディレクトリのファ...
-
HTMLの階層移動
-
Matlabでforやifを使わずに条件...
おすすめ情報