電子書籍の厳選無料作品が豊富!

HP作成初心者です。
現在HPを制作していて、注文フォームを作成したのですが、フォームを送信するとき送信者のメーラーが自動的に立ち上がってしまいます。
送信者がメーラーを立ち上げず送信することってできるのでしょうか?
ちなみにcgiを使わずにそれをやりたいのですができますか?

よろしくお願いします。

A 回答 (4件)

注文などを行うということは、


サイト利用者の入力した内容をなんとかしてサイト運営者に通知しなければいけません。
そのための方法としては
Ex1)サイト利用者がメールを送る
Ex2)サイトが設置してあるサーバに何らかの形式で保存して、運営者が見れるようにする
Ex3)サイトが設置してあるサーバに情報を送信し、それをサーバがメールとして運営者に送信する

といった手順が必要です。
Ex2/Ex3に関しては、どうやってもCGIなりのサーバサイドプログラムが必要です。
メールを送信するなら、情報を受け取ってメールとして送信するためのプログラムを、保存する場合には保存するプログラムを、サーバに設置する必要があります。
HTMLはあくまでマークアップ言語なのでこういった機能は一切持ち合わせていないのです。

CGIを使わずに・・・となるとEx1だけですが、ブラウザにメールを送信する機能はありません。
そのため、利用者のメーラーが自動的に立ち上がるのは正常ですし、それしか方法はありません。
ただ、サイトとしての信頼性は全くないですね。

注文フォーム等、個人情報を扱っている場合は技術的に未熟な状態でコードを作ると非常に危険なことになります。
HTTP通信の内容なんか簡単に調べられますからね。
可能であればきちんとしたECサービスを利用したほうがよいです。
    • good
    • 0
この回答へのお礼

細かく説明していただき本当にありがとうございます。
とても分かりやすく、この回答ですごく勉強になりました。
自分でCGIなど勉強しようと思ったのですが、未熟な状態でコードを作り、お客様に迷惑をかけたくないので今回は業者の方に頼もうと思います。
ご親切にありがとうございました。

お礼日時:2010/05/11 22:13

>ちなみにcgiを使わずにそれをやりたいのですができますか?



 無理です。根本的に誤解している
 HTMLに、<form action="mailto:"****なんて、定義すらされていません。
【引用】____________ここから
action = uri [CT]
 この属性は、フォーム処理エージェントを指定する。HTTPスキームURI以外の値の場合のユーザエージェントの動作は、定義しない。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Forms in HTML documents (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )]より

 あくまで、サーバーのCGIなりにデータを送信するための物です。

 そして、サーバーのプログラムで、データを処理してMTA(メール転送エージェント--プログラム)に渡します。

 言い換えれば、メーラーを起動させるとは、ブラウザとその設定に依存するのです。メーラーが立ち上がらないブラウザもたくさんあります。

データを受け取ったプログラム(CGIはその一つ)は
1) データーを受け取り
2) 不備をチェックして必要ならフォームに戻るなり再表示させる。
3) 文字コードをインターネットメールに規格に合わせて変更し
  これは決してユーザー側ではできない
  日本語はISO-2022-jpにする。
  メールヘッダに日本語を含められないのでBASE64エンコードする。
  長すぎる行は改行して折り返す
  RFC5322 SMTP 日本語訳 ( http://www.hde.co.jp/rfc/rfc5322.php )
4) 完成したデータをMTAに渡す。

 ですから、「CGIもしくはそれに代わるプログラムに送信する。」しかない。「メーラーを起動させる」は邪道。「それに代わるプログラム」を相手のコンピューターにインストールさせることはできない==それができたらウィルスだ====、しかも膨大な種類のコンピューター向けに作成しなきゃならない。

 よって、CGIを使うしかない
    • good
    • 0
この回答へのお礼

今回の回答で、CGIのことを誤解していたことが理解できました。
もともと、CGIの意味がよく分からず、ネットで調べても難しい言葉ばかりで理解できなかったのですが、分かりやすく説明していただき多少なりとも理解できました。
質問した事以上のことを説明していただき本当にありがとうございます。

お礼日時:2010/05/11 22:19

無理です


相手がメールを送って受け取るように作ったのなら、
相手のメールが立ち上がるのは当然というかそのようにソースを書いたわけですから、それで正解です
PHPなどが使える環境なら方法はあります。
それと、フォームって初心者だと難しいので気をつけてやってくださいね
    • good
    • 0
この回答へのお礼

はい。
ご親切にありがとうございます。
PHPなどもう少し勉強してみます^^

お礼日時:2010/05/11 21:59

できますよ。

何かフォームの設定に問題があるのではないでしょうか?

事例:<form action="mailto:user@dammy.com" method="post" enctype="text/plain">
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!