質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

5611閲覧

mailtoを使って本文にURLを挿入したい

syosinsyascript

総合スコア11

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2020/06/02 10:13

現在inputタグにメールアドレスを入れてjsで読み取ってjsでmailtoを動作させています。
jsで動作させる理由はメールアドレスの承認をさせるのが目的です。

発生している問題・エラーメッセージ

無事にメールは届くのですが、urlがリンク状態で届きません。
またurlを画像リンクにしたいのですが、可能でしょうか?

エラーメッセージ

該当のソースコード

[javascript] function send(){ var address = document.getElementById('address').value document.getElementById('address').value = ""; subject = "テスト"; location.href = 'mailto:' + address + '?subject=' + subject + '&body=https://teratail.com/questions/input'; } [html] <input type="text" id="address"> <input type="button" onclick="send()">

試したこと

色々と探してみましたが理解できるサイトがありませんでした。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi_takatsuk

2020/06/03 01:15

> 色々と探してみましたが理解できるサイトがありませんでした。 何をどう理解できなかったのでしょうか? 参考サイトの記載もお願いしたいです。
syosinsyascript

2020/06/03 05:27 編集

gmailへの転送は問題なくクリアしていて、本文にURLをリンク状態で転送したいのですが、URLが文字になっているのでそこの対策がしたいです。 参考サイトは一番それらしいのがこれだと思うのですがhttps://hacknote.jp/archives/10303/ よろしくお願いします
guest

回答2

0

miyabi_takatsuk さんの回答どおりですが、1点だけ補足

無事にメールは届くのですが

絶対に届かないケースもあります。

「gMail + ブラウザからのメール利用」というインターネットメールの利用者は、OS上で受信メールデータがHDDを圧迫するため、そもそもメーラーをインストールしないというケースです。
(訂正:Lhankor_Mhy さんのコメントより:メールアドレスのリンクをクリックするとブラウザー版Gmailが起動するように設定も影響します)

こういうケースでは、ご質問のような mailto: リンクは利用できません。
mailto:は「カスタムURLスキーム」として知られるようになる以前からあった機能で、通常はOS
がメーラーが起動して編集画面を表示したりしますが、インストールされてい場合は何もしません

ブラウザのアドレスバーに mailto:mailaddress@example.com を入力しても、gMail のページには遷移しませんから、mailto: リンクは連絡がつかなくなる(営業目的であれば取りこぼしを発生させる)だけの悪手です。

メールアドレスの承認をさせる

サーバー技術を経由するのが確実と思います。

投稿2020/06/03 03:41

編集2020/06/03 03:59
AkitoshiManabe

総合スコア5434

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2020/06/03 03:45 編集

>ブラウザのアドレスバーに mailto:mailaddress@example.com を入力しても、gMail のページには遷移しません 当方の環境ではページ移動(というか別ウィンドウ)しました。 規定アプリを変更して忘れていたのかな…… https://weekly.ascii.jp/elem/000/001/512/1512485/
AkitoshiManabe

2020/06/03 03:55 編集

環境によるのでしょうか。急ぎ確認した環境2つです 1. firefox (win) google 未login ... chrome 起動 / 指定した Home 2. Chrome (win) google 未login ... 変化なし 追記) リンク先の設定はしていませんので、その影響でしょうね。
Lhankor_Mhy

2020/06/03 04:05

追記ありがとうございます。些末な話をして申し訳ありません。
AkitoshiManabe

2020/06/03 04:22

Lhankor_Mhy さん、「正確な情報」として助かりました。ありがとうございました。
guest

0

ベストアンサー

メーラーの設定による

URLを記載した際に、リンクになるかどうかは、
相手のメーラーの設定によるので、
送信する側でコントロールできるものではありません。
また、HTMLメールだと、URLをリンク形式にすることができたりしますが、HTML形式メールでの送信は、
mailto:では行うことはできません。
サーバーサイドテクノロジーを使いましょう。
画像リンクも同様です。

セキュリティもクソもない

これは余計なお世話ではありますが、
XSSなどの攻撃に非常に遭いやすい、めちゃくちゃ危険な方式だと思います。
非常にセキュリティホールだらけのやり方なので、
この方式でやるのは絶対やめた方がいいです。
ユーザーからすると、こんな方式でメール送られたらたまったものではありません。
なので、同じことをやるなら、サーバーサイドを使うか、
Web上でやるのはやめてローカル限定にするかしましょう。

投稿2020/06/03 01:34

miyabi_takatsuk

総合スコア9528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

syosinsyascript

2020/06/03 05:34

理解できました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問