• ベストアンサー

フォームはCGIを使用しなくてもいいのですか?

Webコンテンツ制作の仕事を始めて間もない者です。 画像作成及びDreamweaverにてHTMLコーディングをしています。 ある中小企業より個人的にサイト作成を依頼されました。 打ち合わせ時に、当方HTMLの知識のみでCGIなど特別なプログラミングの技術はありませんが宜しいかということを確認し、登録フォームはHTMLファイルのみの作成で実際CGIを組み込んだりはせず、納品しました。 企業担当者はビルダーやワードでのサイト作成経験はあるものの詳しい知識はない方です。 サイトが完成し支払いを受けましたが、「登録フォーム」が送信できないがどういうことだ、と電話がかかってきて「ホームページを作れるプロなら容易いことではないのか、そんなぐらいは知識のない私でも出来るが、一旦支払ったのだからやってくれ。今更出来ないとはどういうことだ」と言われました。 CGIの知識がないと説明しても納得せず「ではもう結構です!!」と激怒して電話を切られました。 果たして、その担当者が言うようにフォーム内容をメールで返すプログラムは、HTMLだけで、あるいはワードやビルダーで簡単に出来るものなんでしょうか。 PerlなどのCGI言語は絶対必要だと思うのですが、違うのでしょうか。 もう結構だと言われてもこちらの気もおさまりませんし、出来ればきちんと説明したいところですが、私もプログラムの知識が乏しいために何と説明したら良いのか途方に暮れています。 不躾ですが大変困っておりますのでお力添えよろしくお願いします。

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

  • ベストアンサー
回答No.5

どういう内容の「メールで内容を送信する登録フォーム」なのか分からないので「簡単」「難しい」を答えることが難しいのですが、一般的な「登録フォーム」を想定すると、HTMLだけで、確実に入力内容をメールで送信することはできないと思います(もちろん、CGIを使っても「確実に!」ということは無理なのですが)。他の方のおっしゃっている通り、perlやPHPなどのプログラムを使用してメールで送信する、という方法が一般的です。また、「登録フォーム」ということなので、メールを担当者宛に送るだけでなく、名簿のようにまとまったデータとして保存しておく必要もあるのではないでしょうか?その場合は、HTMLだけでは不可能です。 ご質問とは脱線しますが、簡単な知識としてのCGIは必要かも知れませんが、HTMLでフォームのレイアウトだけを作成して、実際のプログラムは別の担当者(プロダクション、システム会社)が作成する、ということは一般的に行われていることだと思います。なので、readmeさんの作業自体は問題ないのですが、「わたしの作業はここまで」ということを文書などの残る形にしておかなかったのがまずかったかと。。。見積書などにも「プログラム作成費は含みません」と書き添えておけば良かったかと思います。(そういう証拠、残っていませんか?) 今後、HTML作成をされるときには「プログラムはどこで作成しますか?」「こちらで手配してもよいですが、御社のサーバはどういう環境ですか?どういうプログラムを使ってもよいですか?」と確認されると良いかもしれません。 ちなみに、わたしがHTMLを作成するときは必ず仕様書(完成予想画面、使用するプログラム、プログラムの内容、挙動などをまとめた資料)を事前に提出し、それでOKがでてから制作に取りかかります。そうすれば後から「ここはこうでなかった!」と言われても、「仕様書でOKが出ている!」「仕様書に書いていないのだから、追加料金になる!」と説得することができます。 また、お知り合いにプログラマーの方がいらっしゃるとのこと。お客さんが望んでいることを実現するために、どういうことを確認すればよいのか、どういうプログラムがあって、それぞれのメリット・デメリットなど教えてくれるでしょう(有料になるかもしれませんね)。そのあたりのことから入って行くとよいのではないでしょうか? では、がんばってください!

noname#5333
質問者

お礼

CamelLight様 ご回答ありがとうございます。 >HTMLだけで、確実に入力内容をメールで送信することはできないと思います(もちろん、CGIを使っても「確実に!」ということは無理なのですが CGIを使っても確実ではないのでしたら、HTMLだけでは 尚更危険ですよね。 >ご質問とは脱線しますが、簡単な知識としてのCGIは必要かも知れませんが、HTMLでフォームのレイアウトだけを作成して、実際のプログラムは別の担当者(プロダクション、システム会社)が作成する、ということは一般的に行われていることだと思います。 ありがとうございます。 私もそう思っていたのですが、皆様方のご回答を読ませていただくと、デザイナーでもそれなりの知識は必要なのだと実感しました。 CamelLight様がおっしゃるように、打ち合わせ内容を文書化しなかった私の全面的なミスだと思います。 仕様書がなければ後から文句言われてもしょうがなかったと思います。 今後このようなことが無い様に気を付けて参りたいです。 >お客さんが望んでいることを実現するために、どういうことを確認すればよいのか、どういうプログラムがあって、それぞれのメリット・デメリットなど教えてくれるでしょう(有料になるかもしれませんね)。そのあたりのことから入って行くとよいのではないでしょうか? 一応今回生じた問題についてはその知り合いのプログラマーには相談しました。 ただ先方にもう一度連絡をとりましたが激怒されていて(出来ないのであるならば、もうやらなくても良い、信用もなくなった、と言われました)今回は諦めようと思います。 CamelLight様はこのような事態になってもプログラムを引き受けた方がいいと思いますか? 私はうまく行く自信もないし、取りあえずはやらなくてもいいと言われたので、これ以上関係をこじらせたくないと考えてます。 今後は頂きましたアドバイスを元にしっかりと仕様書を作成し、後から問題が発生しないように気を付けて参ります。 本当にありがとうございました。

noname#5333
質問者

補足

時間がないので後ほどお礼をさせていただきます。 「登録フォーム」は住所・氏名・メールアドレス・年齢・その他の項目からなるフォームで、おっしゃる通り名簿のようなものを作成されると思います。 しかしその企業が零細企業で、登録フォームが送信されてくる数もそう多くないことが予想されます。 その為、データベース化するのはメールの内容を見て、逐一他のソフト(例えばAccessなど)に入力されていかれるものと思います。 ありがとうございました。

その他の回答 (5)

noname#30871
noname#30871
回答No.6

 今回のサイトは、どちらの会社のサーバの上に構築されたのでしょうか。  @niftyなど多くのサーバでは、メール送信CGIを用意してあります。サイト製作者は、HTMLを書くだけでCGIを利用できます。 http://homepage.nifty.com/mail/index.htm?tool3  ところで今回は、技術の前にビジネスの進め方として拙い点があったように思います。  お客さんにとっては「このサイトでは、自分と訪問者に何ができるのか」が関心事です。それを示すべきです。CGIの知識がどうのこうのは、関係がありません。ですから >当方HTMLの知識のみでCGIなど特別なプログラミングの技術はありませんが宜しいかということを確認 これは確認になっていません。  もちろん、知識や技能に限度があるのは仕方がないことです。「だから、これができない。ここまでができる」を文書に残して承諾を得るべきでした。それがなかったので「どういうことだ」となったのでしょう。

noname#5333
質問者

お礼

amajun様 ご回答ありがとうございます。 >今回のサイトは、どちらの会社のサーバの上に構築されたのでしょうか。 先方の社内サーバーにあげました。 @niftyのサイト確認いたしました。 あのようなツールが使えれば便利ですね。 >お客さんにとっては「このサイトでは、自分と訪問者に何ができるのか」が関心事です。それを示すべきです。CGIの知識がどうのこうのは、関係がありません。 私の説明では確認になっていなかったのですね。 お客さまが感情的に文句を言われていたので、つい私も感情的になってしまった面もありますが、自分が全面的に悪かったということですね。 文書化しなかったのは自分のミスです。 今後もこの仕事を続ける上で、いただいたアドバイスを肝に命じて参りたいと思います。

  • master-3rd
  • ベストアンサー率35% (582/1641)
回答No.4

#1です。 >逆に言えばそれらの細かい設定が必要なければ、参考URLにあるようなタグのみで問題はないのでしょうか。 問題はあります。 #1の回答でも書いた問題ですが… ページ上にメールアドレスを載せているのとほとんど変わらない状態 と言う問題です。 これは、気にしないと言うのだったら問題にもならないのですが、「メールアドレス収集プログラム」と言うのをご存知でしょうか? いわゆるスパムメール・広告メールを流すときに、その送信先(メールアドレス)が必要ですよね。このメールアドレスを収集するためのプログラムなのですが、ホームページ上に書かれた「@」前後の語句を収集するプログラムなんです。 ホームページ上にメールアドレスを掲載していると、このプログラムによりメールアドレスが名簿屋などに流れてしまいます。 あとは、いろんなメールがどんどん来るという仕組みですね。もちろんウイルスも流れてくるでしょう。 これを防ぐためには、必要な人にしかメールアドレスを教えない=CGIによるメールフォームが必要になります。 企業ページにメールフォームをつけるのだったら必ずと言って良いほどCGIなどで作ったほうが良いですよ。 メールフォームの設置はそんなに難しくはないですよ。ちょこっと設定を変えるだけでちゃんと動きます。 チャレンジしてみてください。

noname#5333
質問者

お礼

master-3rd様 再度御回答ありがとうございます。 >企業ページにメールフォームをつけるのだったら必ずと言って良いほどCGIなどで作ったほうが良いですよ。 やはり通常企業サイトの場合はCGIなどで作る方が良いんですね。 >メールフォームの設置はそんなに難しくはないですよ。ちょこっと設定を変えるだけでちゃんと動きます。 チャレンジしてみてください。 分かりました。少し難しく考えすぎていたのかもしれません。

noname#5333
質問者

補足

時間がないため、お礼は後ほどさせていただきます。 「メールアドレス収集プログラム」は恥ずかしながら知りませんでしたが、企業サイトではメールアドレスの記載があるところも多いように見受けられますが・・・ ありがとうございました。

  • nonchi
  • ベストアンサー率43% (16/37)
回答No.3

CGIを使わなくても、フォームからメールの送信はできます。 ただし、OutlookExpressなどのメール送信機能を使ってですが。 なので、確実に送信されるかというと、送信トレイにまでは入るけど、利用者がメーラーから送信しない限り送られないということはあります。 また、CGIを自分で作らなくても、フォームから無料のメース送信サービスを使うことも可能ですし(http://fspage.future-s.com/access/formmailer.htm)、無料でダウンロードできるCGIを自分で設置することもできます。 ちょっとキツイかもしれませんが、費用を頂くのであれば、もう少し勉強することと、契約前の打合せをしっかりしておかないと。 #1でも言われているように、ある程度の知識は必要ですので、まずは人のソースを改造していくところから始めたら、そんなに難しくはないですよ。

noname#5333
質問者

お礼

nonchi様 ご回答ありがとうございます。 >CGIを使わなくても、フォームからメールの送信はできます。 というのは、#1で言われているように、「単にメールアドレス掲載(もしくはボタン)、クリックでメーラーが立ち上がる」ということですか? 無料のメール送信サービスのサイト拝見しました。 こちらでもいいかどうか、先方に聞いてみようと思います。 >無料でダウンロードできるCGIを自分で設置することもできます。 知り合いのプログラマーに尋ねたところ、先方のサーバーにどんなプログラムが入っていて(?)どんな言語を受け付けるのか分からないことには作り様も無いし(私が知り合いの言うことをよく理解出来なかったので正しく伝えれれてないかもしれません)、CGIを設置してもテストするのは大変だから、素人では触らない方がいいと助言を受けました。 ある人に聞けば簡単だと言いますし、他の人に聞けば簡単にはいかないと言います。 nonchi様は宜しければお伺いしたいのですが、人のソースを改造する、ということろから独学で勉強されたのでしょうか。 >ちょっとキツイかもしれませんが、費用を頂くのであれば、もう少し勉強することと、契約前の打合せをしっかりしておかないと。 私も今になって実感しました。 今後のためにも参考にさせていただきます。

  • acky
  • ベストアンサー率31% (182/583)
回答No.2

フォームメールはCGIだけが動いても使えません。当然sendmailなどのサーバープログラム(MTA)が必要です。 これはHTMLフォームを使う際にも同じではないでしょうか?メール転送には何を使いましたか? これが動いていない、またはパスが間違っていれば、HTMLはちゃんとしていてもフォームは送信できません。 あとPHPが使えるサーバーならPHPでフォームメールを使うという手もあります。 サンプルプログラムはいくつでも転がっているので、これを機会に勉強してみてはいかがでしょう? これからはCGIよりPHPだと言う人も多いですよ。

noname#5333
質問者

お礼

acky様 ご回答ありがとうございます。 当方デザイナーとして働いているため、考え方が甘いかもしれませんがプログラムの知識がありません。 >メール転送には何を使いましたか? HTMLのファイルだけ作ったので、あとメール転送などのプログラムは別途プログラマーに頼まれてはいかがですか、と担当者には言いました。 (実際、こちらの言ったことは理解されていたなかったのか、お忘れでした) サーバープログラムはまた別モノなんですね。 ますます私の手には負えそうもないです。 サンプルプログラムはネット上でも見かけますが知識のないものが時間にせかされて適当に稼動させて問題がないのか、サーバーを壊してしまったりはしないのか、と心配でほとんどサンプルには目をむけてませんでした。 今後はPHPも視野に入れて勉強したいです。 大変参考になりました。

  • master-3rd
  • ベストアンサー率35% (582/1641)
回答No.1

出来なくはないですが、あまりお勧めできる方法ではないですよ。 まず、CGIなどのメールフォームを使用する最大の理由は「メールアドレスを隠すことが出来る」と言うことだと思うのですが、htmlのメールフォームだとこれが出来ません。 ページ上にメールアドレスを載せているのとほとんど変わらない状態です。 利点は少ないかと思います。 >そんなぐらいは知識のない私でも出来るが、 と言う相手の言葉から察すると、単にメールアドレス掲載(もしくはボタン)、クリックでメーラーが立ち上がる、でOKなのでは? さらに、簡単なメールフォームだったらそんなにCGIの知識無く設置できますよ。 また、 >Webコンテンツ制作の仕事を始めて だったら、必ずCGIの知識は必要になってきますよ。 CGIを0から書くほどの知識は必要ないかもしれませんが、改造が出来る程度の知識は必要だと思います。 以上、web製作をやっている人間からの一言でした。

参考URL:
http://www.tagindex.com/html_tag/form/form_mail.html
noname#5333
質問者

お礼

master-3rd様 ご回答ありがとうございます。 参考URLを拝見しましたがCGIを使用しなくてもフォームの送信は出来るんですね。 わたしは全く知らなかったので、企業担当者には絶対に無理だと言い切ってしまいました。 確認画面や送信後のThank you画面等の設定をしたい場合はCGIを使用する、とありましたが、逆に言えばそれらの細かい設定が必要なければ、参考URLにあるようなタグのみで問題はないのでしょうか。 >ページ上にメールアドレスを載せているのとほとんど変わらない状態です。 すみませんがこれはどういう意味でしょうか。 フォームを送信したら受信先で送信者のアドレスが分かってしまうということでしょうか。 >CGIを0から書くほどの知識は必要ないかもしれませんが、改造が出来る程度の知識は必要だと思います。 今後のためにも勉強を始めたいと思います。 大変参考になりました。