- ベストアンサー
HTML mailto の使い方
お世話になります。 HTMLでmailtoというタグがあります。 メールアドレスを記入して実行すると、メーラーが立ち上がり送信先に先ほど記入したメールアドレス宛てに届くように記入されたものが立ち上がりますが、メールアドレスを入力フォームなどでホームページ使用者に記入してもらう方法はないのでしょうか? ご指導お願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No.2 の > mailto の使用は、閲覧者の環境によって左右される問題がおきやすい ですが、具体的には以下のような事例です mailto は URL の一つですが、ブラウザによっては URL に長さ制限があるため、 長い文章を送ると問題がおきる、かもしれない 参考) http://support.microsoft.com/kb/208427/ja 実例) http://answers.microsoft.com/ja-jp/ie/forum/ie8-windows_xp/xpie8/66bd399f-2ce7-4bd8-9d74-eb6855f05c85 ブラウザからメーラーを立ち上げる仕組みに、閲覧者のメーラーが対応しており、 かつブラウザまたは OS への登録済みでなければならない この条件を満たしていない可能として * Web メールを使っている利用者 * 公共設備であるパソコン * ゲーム機とか家電などのメールを使用しない機器 日本語を使用する場合、メーラーで使用できる文字コードへ変換する必要があるが、 「歴史的経緯」によって変換に失敗する、かもしれない この問題にあまりにも深いので、詳細は割愛します 一般公開するページの場合、メールアドレスを不用意に収集されて SPAM の対象になりえる 本人の意思ではない内容/送信先でメール送信を誘導する仕組みであるため、 悪意のある第三者によりページを改竄されると、 「パソコン遠隔操作事件」まがいの犯罪契機になる、かもしれない というわけで、閲覧者の環境がある程度きまっている会社内イントラネットにて、 「クリックして定型メールを書く」ような用途でもなければ、 Webサーバー側のメールフォーム機能を利用しましょう
その他の回答 (3)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
No.1です。 >次に、以下の記述により一行書き込み欄が作成できることもわかりました。 ><input type="text" name="userAddress" value="" size="20"> nameの値は関係ないです。そのコントロールが入っている<form action="[]"></form>のactionにデータの送信先が書かれているはずです。 私が20年位前に参考にさせていただいたサイトですが CGI RESCUE - CGIフリーソフト( http://www.rescue.ne.jp/ ) の中ほどに「フォーム・アンケート・エディタ ほか」というブロックがあり、 フォームtoメール (メール送信フォーム) Webメーラー フォームメール などが該当します。 また一番下に 「基本的なことなど」 があります。そのあたりを読まれるとよいかと・・・ なお、多くのレンタルサーバーサービスでは、メールフォームなど簡単なものはデフォルトで用意されていることがあります。 例えば@niftyの@homepageサービスですと アンケート(メールデコード) | @homepage:@nifty( http://homepage.nifty.com/make/mail/ ) のように・・・・
お礼
回答有難うございます。 おっしゃる通り、基本的のところの学習が必要なようです。 教えていただいたサイトを見てみます。 ご指導有難うございました。
- Ogre7077
- ベストアンサー率65% (170/258)
mailto の使用は、閲覧者の環境によって左右される問題がおきやすいので、 一般的にはサーバーが提供するメールフォーム機能等の利用をお勧めします それでも mailto を使う必要があるならば <form name=mailform> <input name=to type=text value="info@example.com">へ<button type=submit>送信</button> </form> <script>window.addEventListener('load',function(ev){ document.forms['mailform'].addEventListener('submit',function(submitEv){ submitEv.preventDefault(); var form = submitEv.target; var to = form.elements['to'].value; if (!to) return; var url = "mailto:" + to + "?subject=hello%20世界&body=it%20is%20mail%0Aよろしくね"; var a = form.appendChild(document.createElement('a')); a.href = url; a.click(); form.removeChild(a); }, false); }, false)</script>
お礼
ご回答ありがとうございます。 さっそく試してみました。 短時間でこんな回答ができるものかと大変感心すると共に恐縮いたします。 誠にありがとうございます。 回答上段に”mailto の使用は、閲覧者の環境によって左右される問題がおきやすい” ということも教えていただきました。 環境というのは、使用しているブラウザ、メーラーの事と解釈いたしました。 このあたりの事を勉強して使用に適しているかどうか検討させていただきたいと思います。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
>HTMLでmailtoというタグがあります。 ありません。!!! あくまでブラウザとそのブラウサにMUA(メールユーザーエージェント)が設定されている時にのみ、便宜的に動作する仕組みです。 ★「メールアドレスを入力フォームなどでホームページ使用者に記入してもらう方法」 を使用します。 <form action="サーバー"> <input type="text" name="userAddress" value="" size="20"> とか・・・ メールフォームで検索してみてください。
お礼
ご回答ありがとうございます。 まずはmailtoなどというタグは無いというご指摘を頂きました。 ありがとうございました。 次に、以下の記述により一行書き込み欄が作成できることもわかりました。 <input type="text" name="userAddress" value="" size="20"> 質問させていただく前に、いろいろなホームページを見て回ったのですが、 ホームページオーナーにメールを送るためのフォームについての記述は結構見つけたのですが、 送り先を閲覧者が指定する方法がわからず質問させていただきました。 お時間割いていただき、有難うございました。
お礼
再度ご指導を懇切丁寧に頂き、ありがとうございます。 mailtoの使用について問題点を細かく教えていただきました。 質問させていただきましたが、当方の下調べの不足を 痛切に感じております。他の回答者の方にもご指導ご指導いただいておりますが、 基本的な事から勉強しなおします。 サイトを作成し不特定多数の方に有効に使用していただこうと考えておりましたが、 ご迷惑をお掛けするようでは本末転倒です。 再度検討いたしたいと思います。 ご指導有難うございました。