- ベストアンサー
アンケートフォームでデータ送信できない問題の解決方法とは?
- アンケートフォームでデータが送信されない問題について解決方法を説明します。
- JavaScriptで作成したメール送信フォームでデータが送信されない場合の対処法について詳しく説明します。
- 送信されたメールにデータが表示されない問題の解決方法をご紹介します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
mailtoのアクションはブラウザやメールソフトに依存しますので、利用環境によっては送信できない場合があります。 アップされたHTMLで試しましたが、ブラウザがFirefoxだと問題無くメール本文にフォームの内容が入ります。 IEは昔からmailtoでフォームの内容が入らないので、JavaScriptでactionの中身を mailto:私のメールアドレス?Subject=WEBからの送信メール&body=[フォームの中身] に書き換えるようにする方法がよく使われます。 但し、メールソフトによっては引数部分のsubjectやbodyを無視する場合がありますので、全ての環境で正常に送れる訳ではありません。 フォームの送信を行う場合はCGIを利用する方法が一番確実です。
その他の回答 (3)
- t_ohta
- ベストアンサー率38% (5253/13739)
perlのプログラムを使用する際に気を付けるのは、perlのパス、パーミッション、文字コード、改行コード、sendmailのパスと言った所でしょうか。 プログラム自体は動いているようであれば、perlのパス、パーミッション、文字コード、sendmailのパスは問題無いかもしれませんね。 改行コードが間違っていると一見正しく動いているように見えても、sendmailを実行する際に正しく送信できないと言った事が起きる場合があります。 ジオシティーズを使ったことが無いので、どう設定するのが正しいかやエラーの確認方法が分からないので、その点はご自身でお調べ下さい。 またメール送信の場合、送信元サーバのIPアドレスがメールアドレスのドメインに属するIPアドレスと異なる場合、迷惑メールに判定される場合がありますので迷惑メールになっていないかも確認されたらいいかと思います。
補足
t_ohtaさん、アドバイスをいただきながら、返事が遅くなりました。 調べてみたのですが、今もって原因がわかりません。 t_ohtaさんからの回答No.2で教えていただいた方法(Firefoxを使う)では正常にメールが送られてきますので、この方法で使うようにしたいと思います。
- t_ohta
- ベストアンサー率38% (5253/13739)
CGIにする場合は、フォームから受け取った内容をメールで送信するプログラムをご自身で作成するか、フリーで配られているプログラムを入手しサーバに設置します。 設置が終わったら、HTMLのformタグのactionをCGIプログラムのURLに変更したら完了です。 「メールフォーム CGI」とかで検索するといろいろ出てくると思います。 ▼この辺りが参考になるでしょうか。 http://www.review-rank.net/?p=894
補足
t-ohta さん、回答ありがとうございました。 自身でプログラムが作成できるとよいのですが現在の私には難しいため、参考として挙げられているフリーソフトを含め2、3検討した結果、KENT-WEB のPOST MAIL(URLは下記)でトライしてみました。 http://www.kent-web.com/mail/postmail.html レンタルサーバ:geocitiesに、フリーソフトpostmailの解凍プログラムを指示通り編集してアップし、このプログラムを呼び出すHTMLファイルをルートディレクトリに置きました。(下記のURL) http://www.geocities.jp/edblearning/tmp/ その結果、 1)「お問い合わせフォーム」画面を表示、次いでデータ入力後、「送信する」ボタンをクリックし 2)「確認画面」画面を表示、確認後、「送信する」ボタンをクリックし 3)「送信完了」画面を表示させるところまではできました。 しかし、 4)3)の画面で「メール送信は正常に完了しました。」と表示されてはいますが、私の手元にはメールが送られてきません。 提供元の指示通りに編集したつもりですが、編集過程などで不適切なところがあったのかもしれません。 厚かましいお願いですが、考えられる誤りやすい個所などをアドバイスしていただけるでしょうか。 尚、原因、解決策を冒頭に記載のプログラム中にある「sample」をクリックし表示されるフォームを通じて、別途、提供元に確認中ですが、目下のところ回答がありません。(私同様に、このメールが提供元に届いていないのかもしれません。) よろしくお願いします。
- t_ohta
- ベストアンサー率38% (5253/13739)
html、JavaScriptのソースを掲載して頂かないと原因は分からないと思います。
補足
t_ohta さん、早速の回答ありがとうございました。ソースは下記サイト(URL)にアップしました。 http://www.geocities.jp/edblearning/tmp/Application1a.html ソースを表示させて、ご確認ください。 尚、ソースの第43行の <form name=myForm method="POST" ACTION="mailto:ここにメールアドレスを記入?Subject=WEBからの送信メール" enctype="text/plain"> の「ここにメールアドレスを記入」に私のメイルアドレスを入力していましたが、アップしたファイルからは私のメイルアドレスを消しました。 よろしくお願いします。
補足
t_ohta さん、回答ありがとうございました。 教えていただいたように、ブラウザをFirefoxで確認したところ、確かにデータがメールで送られてきました。 私の通常環境は、ブラウザはIE,メールソフトはOutlookExpress、或いはWindowsLiveメールです。 また、これから利用する仲間も私bと同じような環境になると思います。 それで、最後に書かれている「フォームの送信を行う場合はCGIを利用する方法が一番確実です。」で解決を図りたいと思います。 私が利用しているレンタルサーバー(geocities.jp)ではCGIを利用できると認識していますが、先に示したHTMLファイル、ならびにJavaScriptをどのようしてCGIに利用するのか、その具体的方法がわかりません。 その方法、或いは参考となるサイトを教えていただきたいのですが、よろしくお願いします。