• ベストアンサー

HP作成初心者です。

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

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

  • ベストアンサー
  • neko-ten
  • ベストアンサー率55% (1287/2335)
回答No.3

注文などを行うということは、 サイト利用者の入力した内容をなんとかしてサイト運営者に通知しなければいけません。 そのための方法としては Ex1)サイト利用者がメールを送る Ex2)サイトが設置してあるサーバに何らかの形式で保存して、運営者が見れるようにする Ex3)サイトが設置してあるサーバに情報を送信し、それをサーバがメールとして運営者に送信する といった手順が必要です。 Ex2/Ex3に関しては、どうやってもCGIなりのサーバサイドプログラムが必要です。 メールを送信するなら、情報を受け取ってメールとして送信するためのプログラムを、保存する場合には保存するプログラムを、サーバに設置する必要があります。 HTMLはあくまでマークアップ言語なのでこういった機能は一切持ち合わせていないのです。 CGIを使わずに・・・となるとEx1だけですが、ブラウザにメールを送信する機能はありません。 そのため、利用者のメーラーが自動的に立ち上がるのは正常ですし、それしか方法はありません。 ただ、サイトとしての信頼性は全くないですね。 注文フォーム等、個人情報を扱っている場合は技術的に未熟な状態でコードを作ると非常に危険なことになります。 HTTP通信の内容なんか簡単に調べられますからね。 可能であればきちんとしたECサービスを利用したほうがよいです。

rossi46mail
質問者

お礼

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

その他の回答 (3)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.4

>ちなみにcgiを使わずにそれをやりたいのですができますか?  無理です。根本的に誤解している  HTMLに、<form action="mailto:"****なんて、定義すらされていません。 【引用】____________ここから action = uri [CT]  この属性は、フォーム処理エージェントを指定する。HTTPスキームURI以外の値の場合のユーザエージェントの動作は、定義しない。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Forms in HTML documents (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/interact/forms.html#adef-action )]より  あくまで、サーバーのCGIなりにデータを送信するための物です。  そして、サーバーのプログラムで、データを処理してMTA(メール転送エージェント--プログラム)に渡します。  言い換えれば、メーラーを起動させるとは、ブラウザとその設定に依存するのです。メーラーが立ち上がらないブラウザもたくさんあります。 データを受け取ったプログラム(CGIはその一つ)は 1) データーを受け取り 2) 不備をチェックして必要ならフォームに戻るなり再表示させる。 3) 文字コードをインターネットメールに規格に合わせて変更し   これは決してユーザー側ではできない   日本語はISO-2022-jpにする。   メールヘッダに日本語を含められないのでBASE64エンコードする。   長すぎる行は改行して折り返す   RFC5322 SMTP 日本語訳 ( http://www.hde.co.jp/rfc/rfc5322.php ) 4) 完成したデータをMTAに渡す。  ですから、「CGIもしくはそれに代わるプログラムに送信する。」しかない。「メーラーを起動させる」は邪道。「それに代わるプログラム」を相手のコンピューターにインストールさせることはできない==それができたらウィルスだ====、しかも膨大な種類のコンピューター向けに作成しなきゃならない。  よって、CGIを使うしかない

rossi46mail
質問者

お礼

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

  • hanmemomo
  • ベストアンサー率35% (205/580)
回答No.2

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

rossi46mail
質問者

お礼

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

  • nine999
  • ベストアンサー率44% (512/1140)
回答No.1

できますよ。何かフォームの設定に問題があるのではないでしょうか? 事例:<form action="mailto:user@dammy.com" method="post" enctype="text/plain">

関連するQ&A