• ベストアンサー

CGIを使用しないフォーム受信について

現在ホームページを作成しています。(ほぼ初心者です) 使用しているケーブル会社のサーバーがCGIの利用不可なので 作成したフォームの結果をメール受信できるようにHTMLを書き込みました。 ところが送られてくるメールは空メールになってしまいます。 何か良い解決方法はあるでしょうか?

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

  • ベストアンサー
noname#10877
noname#10877
回答No.6

お試しの方法は何かと問題アリなので、 できればCGIを使う方向で考えられたほうがよいかと・・・。 で、こんなサイトがあるのですが、どうですか? http://www.future-s.com/access/formmailer.htm ここのCGIは利用しているサーバーにCGIを置くわけではないので、サーバーを選びません。 レイアウトも自由に変更できますし、しかも無料です。 私も以前、利用しましたが便利でしたよ。

参考URL:
http://www.future-s.com/access/formmailer.htm
mama711
質問者

お礼

その後、アメリカ(?もしくは英語圏)のサイトで 同じようなものを探してみたら、やっと見つかりました! (ちなみにYahooで"formmailer"で検索してみました。) で、私の選んだサイトでは、Thank youページ(送信後のページ)の 文や、背景の色、文字の色、リンクの色なども変更でき、 もちろん広告がメインとなっているのですが、 その下に送信内容の確認も載っています。 私も早速使っています。 ありがとうございました!

mama711
質問者

補足

N-N-Nさん、ありがとうございました。 このサイト、とっても便利ですね! で、早速登録し、HTMLを書き換えて使用してみたのですが・・・ 問題なくは動くのですが、送信後に表示されるページが このサイトからの宣伝ページになってしまうんですよね。 (フリーなので当然ですよね・・・) 宣伝は問題ないんですけど、私の作っているホームページが 基本的にはアメリカ人対象のページなので 私のページを訪れて、フォームを埋め、送信してくれた人が見るページは 文字化けで意味のわからないページになってしまうと思うんです。 うぅ・・・。とっても良い方法だったのに・・・。 アメリカにもこういったフリーで安全なサイトってないものでしょうか。 (N-N-Nさんが教えてくれたサイトは、ポップアップも、変な宣伝も、ページ上には現れませんでした) アメリカのサーチエンジンで検索するとしたら、 何て検索をかけたらよいのでしょう・・・

その他の回答 (5)

  • nuruhho44
  • ベストアンサー率57% (38/66)
回答No.5

横レス失礼いたします。 残念ながら、この症状は個人のパソコン環境(設定)の問題です。mama711様のほうでうまくいったとしても、実際運営してみれば、閲覧者のパソコン設定如何で、うまく送信できたり、空の内容のメーラーが立ち上がったりします。 ですから、レンタルでCGIをお探しになるほうが確実だと思いますよ。 どうしてもCGIが無理なら、JavaScriptでフォーム内容を取得し、内容をメーラーに書き込んで立ち上げるということもできるのですが・・・フォームの構成如何ではスクリプトを改編せねばならず、JavaScriptの知識が必要になります。

mama711
質問者

補足

nuruhho44さん、ありがとうございます。 パソコン環境設定の問題という言葉は、 最初に問題をいろいろ調べていくときに出てきたのですが その問題と言うのが、例えばメールソフトの設定、セキュリティのレベルや ウィルスバスターなどについてなのかな・・・ と思っていたので、せめてその問題というのだけでも 知っておければ、と思います。 JavaScriptでフォーム内容を取得し・・・ という方法もあるんですね。 こちらは少し勉強してみたいと思います。 ありがとうございました。

  • souta_n
  • ベストアンサー率33% (79/234)
回答No.4

>「SENT」ボタンを押すと、OEが自動的に起動されますよね? >で、そのメール作成画面の時点で白紙なので >もちろん送られてくるメールも白紙になるわけなのです。 メールの作成画面というと、いつもOEで「新しいメール」ボタンを押して出てくる「新しいメッセージ」画面のことですか?私が試したときにはそんな画面は出ませんでしたよ。いきなり送信してますみたいなステータスバーの表示があるだけです。ちなみにローカルPCで試してますか?もしそうなら念のためご自分のWebサーバーにそのWebページをアップロードしてインターネット経由で複数台のパソコンで試してみたらどうでしょう。 私のパソコンはWebサーバーソフトがインストールされているからかなぁ?たぶん関係無いと思うけどな・・・ とにかく作成されたHTMLフォームは問題ないようです。これ以上は私にも良くわかりません。ごめんなさい

  • souta_n
  • ベストアンサー率33% (79/234)
回答No.3

先程のコードで実際にやってみました。ちゃんと送信されます。私のメーラー(普通のOEです。)に次のようなメールが届きました。 ということはHTMLではなくメーラーの可能性が高いですね。 △△△△△△△△△△△△△△△△△△△△△△△△△△△△ 件名 Microsoft Internet Explorerから投稿されたフォーム firstname=abc mi=d lastname=efg city=japan state=ohter phone=03-****-**** email=***@***.ne.jp content=message comment=nannkakannka.doutokakoutoka Send=Send contactus=contactus △△△△△△△△△△△△△△△△△△△△△△△△△△△△

mama711
質問者

お礼

souta_nさん、引き続きありがとうございます。 私の使っているメールソフトもOEなんですけど・・・。 その際の設定なのでしょうか??? ちょっと混乱しているのですが、 テスト送信したのは、自分のパソコンからで 実際にIEから自分のサイトを開き、 「SENT」ボタンを押すと、OEが自動的に起動されますよね? で、そのメール作成画面の時点で白紙なので もちろん送られてくるメールも白紙になるわけなのです。 ここで疑問なんですけど、私のメールソフトの設定上での問題だとすると 送信側の設定なのでしょうか? それとも受信側の設定なのでしょうか? もし送信側の設定だとすると、このホームページを実際に公開し、 どなたかページを見た方が実際にフォームを送信した場合、 souta_nさんの例のようなフォームメールがきちんと届くのですよね? 質問ばかりでごめんなさい。 それから先ほどの注意、ありがとうございました。 私の不注意でした。 管理人の方がすぐに修正してくれました。 ありがとうございます。

  • souta_n
  • ベストアンサー率33% (79/234)
回答No.2

う~んコード見た限り行きそうですけどねぇ・・・ >ちなみに英語のサイトなので、 >その場合はエンコードは気にしなくて良いんですよね? 英文ならエンコード・デコードの問題はありません。

  • souta_n
  • ベストアンサー率33% (79/234)
回答No.1

この間私も同じような問題に悩んでいました。 私の場合は空ではなくて、受信メールがテキストファイルの添付メールで、そのテキストがエンコードされた%01%1b%・・・のようなバイトコードで、デコードしないと読めない情報になっていました。 継続的な解消法ではありませんが、参考URLサイトの、フォームデコードサービスで、CGIを貸してくれます。タダですが、いつサイトがなくなっても文句はいえません。 ほぼ初心者ということですから、参考HTMLも書いときます。たとえば、送信フォームを、名前(テキストボックス)・住所(テキストボックス)・本文(テキストエリア)あと送信ボタンというようにつくった場合は次のようなHTMLになります。 △△△△△△△△△△△△△△△△△△△△△△△ <FORM ACTION="http://www.altoworld.com/form2/post.cgi" METHOD="POST"> <input type=hidden name="_mailto" value="送信先メールアドレス"> <input type=hidden name="_subject" value="件名"> <input type=hidden name="_location" value="送信後表示したいページ"> 名前:<INPUT size="20" type="text" name="name"><BR> 住所:<INPUT size="20" type="text" name="add"><BR> 本文:<textarea name="honbun" rows=5 cols=80></textarea><br> <INPUT type="submit" name="submit" value="送 信"> </FORM> △△△△△△△△△△△△△△△△△△△△△△△ 送信先メールアドレス・件名・送信後表示したいページ、だけ指定すれば、出来るはずです。

参考URL:
http://www.altoworld.com
mama711
質問者

お礼

souta_nさん、ありがとうございます。 実は私の場合、最初はホームページビルダーで作成、 その後細かい修正などがあれば自分でHTMLを修正 というようにしているのですが、 ホームページビルダーのマニュアル(市販されているもの)で 「メールを使ってフォームを送信する」という方法の通りにやってみたんです。 そのときのHTMLソースは以下の通りです。 ******************************************** <FORM action="mailto:********@cox.net" method="POST" enctype="text/plain" name="contactus"> First Name <INPUT size="36" type="text" name="firstname"> MI <INPUT size="6" type="text" name="mi"> Last name <INPUT size="36" type="text" name="lastname"><BR> City <INPUT size="36" type="text" name="city"> State <SELECT size="1" name="state"> <OPTION value="none" selected>===</OPTION> <OPTION value="AK">AK</OPTION> ~略(米国内、州を選択するリストボックスなので)~  <OPTION value="ohter">Other</OPTION> </SELECT><BR> Phone No. <INPUT size="30" type="text" name="phone"><BR> E-mail <INPUT size="50" type="text" name="email"><BR> Contents: <INPUT type="checkbox" checked name="content" value="message">Message <INPUT type="checkbox" name="content" value="question">Question <INPUT type="checkbox" name="content" value="request">Request <INPUT type="checkbox" name="content" value="other">Other<BR> <TEXTAREA rows="15" cols="80" name="comment"></TEXTAREA><BR> <BR> <INPUT type="submit" value="Send" name="Send"> <INPUT type="reset" value="Reset" name="Reset"><INPUT type="hidden" name="contactus" value="contactus"></FORM> ******************************************** これでテスト送信を何度も試みたのですが、 送られてくるメールは空メールのみです。 ちなみに英語のサイトなので、 その場合はエンコードは気にしなくて良いんですよね?

関連するQ&A

専門家に質問してみよう