• ベストアンサー

HTML mailto の使い方

お世話になります。 HTMLでmailtoというタグがあります。 メールアドレスを記入して実行すると、メーラーが立ち上がり送信先に先ほど記入したメールアドレス宛てに届くように記入されたものが立ち上がりますが、メールアドレスを入力フォームなどでホームページ使用者に記入してもらう方法はないのでしょうか? ご指導お願いいたします。

  • HTML
  • 回答数4
  • ありがとう数4

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

  • ベストアンサー
  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.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サーバー側のメールフォーム機能を利用しましょう

namagage98
質問者

お礼

再度ご指導を懇切丁寧に頂き、ありがとうございます。 mailtoの使用について問題点を細かく教えていただきました。 質問させていただきましたが、当方の下調べの不足を 痛切に感じております。他の回答者の方にもご指導ご指導いただいておりますが、 基本的な事から勉強しなおします。 サイトを作成し不特定多数の方に有効に使用していただこうと考えておりましたが、 ご迷惑をお掛けするようでは本末転倒です。 再度検討いたしたいと思います。 ご指導有難うございました。

その他の回答 (3)

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

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/ )  のように・・・・  

namagage98
質問者

お礼

回答有難うございます。 おっしゃる通り、基本的のところの学習が必要なようです。 教えていただいたサイトを見てみます。 ご指導有難うございました。

  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.2

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>

namagage98
質問者

お礼

ご回答ありがとうございます。 さっそく試してみました。 短時間でこんな回答ができるものかと大変感心すると共に恐縮いたします。 誠にありがとうございます。 回答上段に”mailto の使用は、閲覧者の環境によって左右される問題がおきやすい” ということも教えていただきました。 環境というのは、使用しているブラウザ、メーラーの事と解釈いたしました。 このあたりの事を勉強して使用に適しているかどうか検討させていただきたいと思います。

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

>HTMLでmailtoというタグがあります。  ありません。!!!  あくまでブラウザとそのブラウサにMUA(メールユーザーエージェント)が設定されている時にのみ、便宜的に動作する仕組みです。 ★「メールアドレスを入力フォームなどでホームページ使用者に記入してもらう方法」  を使用します。 <form action="サーバー">  <input type="text" name="userAddress" value="" size="20"> とか・・・  メールフォームで検索してみてください。

namagage98
質問者

お礼

ご回答ありがとうございます。 まずはmailtoなどというタグは無いというご指摘を頂きました。 ありがとうございました。 次に、以下の記述により一行書き込み欄が作成できることもわかりました。  <input type="text" name="userAddress" value="" size="20"> 質問させていただく前に、いろいろなホームページを見て回ったのですが、 ホームページオーナーにメールを送るためのフォームについての記述は結構見つけたのですが、 送り先を閲覧者が指定する方法がわからず質問させていただきました。 お時間割いていただき、有難うございました。

関連するQ&A

  • mailtoの記入を入力フォームを使用して

    先日、"メールアドレスを記入して実行すると、メーラーが立ち上がり送信先に先ほど記入したメールアドレス宛てに届くように記入されたものが立ち上がりますが、メールアドレスを入力フォームなどでホームページ使用者に記入してもらう方法はないのでしょうか?" と質問させていただきました。 回答いただきましたが、再度追加で質問させていただきます。 回答いただいた内容は 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> という内容でありました。 var url = "mailto:" + to + "?subject=hello%20世界&body=it%20is%20mail%0Aよろしくね"; で記入されている部分も入力フォームで作成したいのですが、 どうすればよいでしょうか? ご指導よろしくお願いします。

    • ベストアンサー
    • HTML
  • HTML応募フォームでメールに送信したい

    【初心者】です。相談させて下さい。 私は小さな求人サイトを担当しています。 求人サイトなので店舗情報を入力しなければなりませんが、 各営業担当にしかわからないこともあるので、いつも口頭で確認してましたが、業務を簡略化するために、HTMLでメモ帳に「フォーム」を作りました。 <例>-------------------------------------------------- 名前: 住所: [送信] ------------------------------------------------------- ・ラジオボタン ・チェックボックス ・プルダウン などをHTMLタグで作り、 最後「送信」ボタンも本を見て作りました。 このフォームを会社のPCの共有に入れておいて、必要なら入力してもらい、「送信」を押せば私のメールに内容が届くようにしたいのです。 ネット上にアップするつもりはありません。 しかし、私のメールに内容を送信させるタグがわかりません。 メーラーを立ち上げる[mailto]のやつならわかるのですが、 直接そのフォームに入力してもらって送信していただきたいのです。 本やネットで調べてもぜんぜんのっていません。 HTMLタグだけではむりなのでしょうか? 最初はcgiというのも試しましたがちんぷんかんぷんでした。 そこで質問です。 ■応募フォームの「送信」を押下後、内容を私のメールに行くようにするタグは?? ■またHTMLでできなければどうしたらいいでしょうか?無料cgiをDLしたのですが拡張子がcgiのファイルはアイコンがTMPのようになっていてメモにドラッグしても見れませんでした。 ご教授お願いいたします。助けてください。

    • ベストアンサー
    • CGI
  • auのWINでのみmailto指定で記号(+)が認識されない

    携帯のホームページを作成中です。 空メール送信でメールアドレスを登録するページをつくっていたのですが、 mailtoでメーラが立ち上がるように指定したところ、 auのWINでのみ記号部分が認識されず空白になってしまいます。 以下のようなタグを使用しました。 <a href="mailto:***+*****@****.com">空メールを送る</a> メーラが立ち上がったときに、 「+」の部分が認識されず空白になってしまいます。 これは私の設定が悪いのでしょうか。 それともこういうものなのでしょうか よろしくお願いします。

  • mailto~で

    ご協力よろしくお願いします。 ホームページビルダーのフォーム部品を作り、 mailto:xxxxと書き、ホームページで送信ボタンを押したのですが、 メールソフトが起動してしまい、送信できません。 メールソフトが起動せずにそのまま送信する方法を知りたいです。

  • CGI以外のフォームHTMLについて教えて!

    CGI以外での簡単フォームを希望しています。 下記の記事ではIEにしか認識しないと記されています。 大方のブラウザに摘要するHTMLはないのでしょうか? 宜しくお願い致します。 <form action="mailto:自分のメールアドレス" enctype="text/plain" method="post"> フォームの最初にメールアドレスを指定します。メールでフォーム内の情報を受け取ります。これに関しては「デコードについて」を見てください。 (一番簡単な方法ですが、 mailto をサポートしている Webブラウザは今のところ Microsoft Internet Explorer のみです。それ以外のブラウザでは、送信されない、メーラーが立ち上がる可能性があります。また、Windows XP環境で送信ボタンを押すとメールソフトの「メールの作成」が開いてしまいます。メールソフトを利用しますので、送信者である自分のアドレスが相手に分かります。) 上記フォームサンプルの「action="mailto:aaa @ bbb.ne.jp"」のように自分のメールアドレスを指定した場合、メールで届けられる見本は 「IE から投稿されたフォームのSample」です。

  • 入門者です。HTMLのmailtoが機能してません

    ホームページ超初心者です。HTMLではじめて1ページ分作りましたが、 「お問い合わせはこちら」の「こちら」の部分に、私のメールアドレスが 宛先になるように、mailtoというHTMLでハイパーリンクしたつもりだったんですが、 テストしてみたら届きませんでした。どうしてなんでしょうか?メールアドレスは 何度も確認したのですが、間違っていませんでした。「こちら」をクリックすると Windows live Mail 2011が起動しますが、私はこれを普段使ってないので 元々このソフトが機能していないとも考えられます。私のパソコンはWindows 7 です。お教え下さい。

  • HTMLタグについてお詳しい方に質問です!

    HTMLタグについてお詳しい方に質問です! 現在タグ手打ちでHPを作成しているのですが、メールフォームが上手く動きません・・・。 HTMLタグ配布サイト様よりそのまま使っているのですが、なぜかフォームに入力後送信しようとしてもエラーが出てしまうのです。 実際使ってるタグは以下のものになります。 <form action="mailto:実際はここにメールアドレスが入力されてます" method="post" enctype="text/plain"> <textarea cols="30" rows="8" name="opinion" style="background-image:url(実際はここにフォーム内の背景画像アドレスが入ってます);background-repeat:no-repeat;background-position:100% 100%;background-attachment:fixed;" style="border:1px dashed #ff9900"> ご質問・ご連絡など </textarea> <input type="submit" value="送信" style="border:1px dashed #FF9900;"> <input type="reset" value="リセット" style="border:1px dashed #FF9900;"> </form> フォームの枠線を飾り枠にしたり背景をつけたりしているのが原因かとそれらのタグを省いてみてもやはりエラーが出てしまいます。 エラーというのはフォームを入力し、いざ「送信」をした時に 「このフォームは電子メールを使用して送信されています。このフォームを送信すると電子メールアドレスが受信者に公開されフォームのデータが暗号化されずに送信されます・・・」 と警告文が出てきます。 それに「OK」をするとなぜかウィンドウズライブメールエンジンが起動してしまいます。 それで送る事は出来るのですが、フォームに入力したものはまったく反映されてないので せっかく設置したメールフォームが意味の無いものになってしまってます。 タグではなくてセキュリティなどの問題なのでしょうか・・・? タグサイトを見て周ったのですがメールフォームのエラー対策については結局わかりませんでした。 どなたかご回答宜しくお願い致します・・・!!

  • mailtoで質問です

    mailtoのスクリプトで送信メールが立ち上がるのですが、今の設定ではそのまま送信ボタンを押しても送信トレイに移動するだけで、受送信ボタンを押すまで送れません。メーラーの設定を変えればできるのですが、なんとかmailto起動時に送信メールのみのウィンドウじゃなく、メーラー立ち上げ時の状態にはできないのでしょうか?分りにくい質問ですみません。

  • mailtoについて

    携帯電話やパソコンでは以下のように書いたmailtoが起動してくれるのですが Androidのスマートフォンで起動してもメールアドレスが記入されていない状態になってしまいます。 なにが原因なのでしょうか? <a href="mailto:info@〇〇〇.jp?subject=通知&body=連絡事項:%0D%0A%0D%0Aホームページにより連絡送信。%0D%0A%0D%0A">連絡</a>

    • ベストアンサー
    • HTML
  • アンケートフォームで送信してもデータが送れない

    添付図に示すメール送信フォームをJavaScriptで作成し、HTMLファイルにしました。 <body>・・・・</body>内に <form name=myForm method="POST" ACTION="mailto:私のメールアドレス?Subject=WEBからの送信メール" enctype="text/plain"> として、HTMLファイルで保存後にIEで起動し、或いは、このHTMLファイルをホームページサイトのレンタルサーバーに保存してホームページを立ち上げた後に、フォーム内にデータを入力して[送信する]ボタンをクリックしても、メーラー(WindowsLiveMail)が立ち上がり送信することができました。 しかし、送信されたメールには、上記のSubject部に示す「WEBメールからの送信メール」が表示されてはいますが、入力したデータは一切送られてきません。 データが送られてくるようにするには、どのようにすればよいのでしょうか?

専門家に質問してみよう