時給単価UP【3大特典付き】
コーディングテクニック集100選⋙

【HTML】aタグのメーラー起動設定【mailto:の注意点】

記事内に広告を含みます

パソ君
パソ君

・aタグでリンク設定はできたけど、メールを起動するにはどうしたらよいの?

こんな疑問にお答えします。

メールアドレスにリンクをつけて、クリックしたらメーラーを起動させるようにするサイト案件は多くあります。

やり方としては簡単。href=””の中に「mailto:~」を記述するだけ。

ジト
ジト

すぐにできるよ!

が、注意点もあるのも事実です。

ということで、この記事では「HTMLのaタグでメーラーの起動させる方法」について解説していきます!

この記事でわかること

・HTML aタグのメーラー起動方法

・HTML aタグのメーラー件名や本文設定方法

・HTML aタグのメーラー文字化け、迷惑メール対策

・HTML aタグのメーラーの注意点

HTML aタグのメーラー起動方法

結論:aタグのhref属性に「mailto:指定メールアドレス」を記述する。

<a href="mailto:info@example.com">info@example.com</a>

上記のようにmailto:のあとにメールアドレスを記述すればOK。

こんな感じ↓

info@example.com

mailto:の「~」部分はメールアドレスじゃなくても可能

もちろんリンクをつける本文部分はメールアドレスじゃなくても可能です。

つまり下記のようなこと。

<a href="mailto:info@example.com">お問合せはこちら</a>

これだと「お問合せはこちら」という文字をクリックしたら、メーラーが起動する仕様になります。

こんな感じ↓

お問合せはこちら


お問合せに関する文字や画像を使用して、メールアドレスにて送信してもらいたいときは、このやり方を使うと便利ですね。

HTML aタグのメーラー設定方法【件名、本文、CC、BCC、複数】

メーラーを起動するにはaタグに「mailt:~」を記述すればOKです。

ただ実はそれだけではありません。件名や本文までも設定することが可能なんですよね。

ジト
ジト

クリックしただけで件名まで入れれちゃう!

設定項目は下記

  1. 件名
  2. 本文
  3. BCC
  4. CC
  5. 改行
  6. 半角スペース
  7. 件名~半角スペースを複数設定

順に解説していきます。

メーラー設定①:件名

結論:「?subject=件名」を記述する。

<a href="mailto:info@example.com?subject=件名を入れます">info@example.com</a>

「件名を入れます」の文字部分を変えれば、メーラー起動時に好きな件名をデフォルトで設定することができます。

例は下記。

info@example.com

メーラー設定②:本文

結論:「?body=本文」を記述する。

<a href="mailto:info@example.com?body=本文が入ります">info@example.com</a>

「本文が入ります」の文字部分を変えれば、メーラー起動時に好きな本文をデフォルトで設定することができます。

例は下記。

info@example.com

メーラー設定③:BCC

結論:「?bcc=メールアドレス」を記述する。

<a href="mailto:info@example.com?bcc=info@hoge.com">info@example.com</a>

「info@hoge.com」の文字を変えれば、メーラー起動時にbccのメールアドレスをデフォルトで設定することができます。

例は下記。

info@example.com

メーラー設定④:CC

結論:「?cc=メールアドレス」を記述する。

<a href="mailto:info@example.com?cc=info@hoge.com">info@example.com</a>

「info@hoge.com」の文字を変えれば、メーラー起動時にccのメールアドレスをデフォルトで設定することができます。

例は下記。

info@example.com

メーラー設定⑤:改行

結論:「%0d%0a」を記述する。

<a href="mailto:info@example.com?body=本文を改行します。%0d%0a改行されました">info@example.com</a>

「%0d%0a」の文字を入れれば、メーラー起動時にメールアドレスの本文に改行を加えることができます。

例は下記。

info@example.com

メーラー設定⑥:半角スペース

結論:「%20」を記述する。

<a href="mailto:info@example.com?body=本文のここに%20半角スペースを入れます">info@example.com</a>

「%20」の文字を入れれば、メーラー起動時にメールアドレスの本文に半角スペースを加えることができます。

例は下記。

info@example.com

メーラー設定⑦:件名~改行を複数設定

結論:「&amp;(&)」を記述する。

<a href="mailto:info@example.com?subject=件名が入ります&body=本文改行しました。%0d%0a半角スペースも%20入れました。&cc=info@hoge.com&bcc=info@hoge.com">info@example.com</a>

&amp; もしくは &をつなげることで複数設定することができます。

注意点として、複数設定時に「?」をつけるのはメールアドレスの後ろにつける部分のみということ。

つまり「?subject=件名が入ります ? &amp;body=本文改行しました。」はNG。
この黄色蛍光ペン部分には?をつける必要はありません。

ジト
ジト

?を使うのはメアドの後ろのみ!

例は下記。

info@example.com

HTML aタグのメーラー【URLエンコードして文字化け対策】

先述した設定方法では、日本語をそのまま入力していました。

が、ぶっちゃけNGでもあるんですよね。

実はmailtoにて件名や本文に、日本語・記号・改行などを入れると、文字化けしてしまう可能性があります。

ユーザーが使うメールの利用環境により、文字が化けてしまう。

そのため対策が必要。

対策方法としては「URLエンコード」を使うこと。

URLエンコードの使い方

日本語文字化け対策としてURLエンコードを使用するのがおすすめ。

それがこちら↓

https://tech-unlimited.com/urlencode.html

クリックすると下記画面になるかと思います。

使い方の詳細↓

エンコードするを選択
エンコードする文字列を記載する
「変換する」ボタンをクリックする
エンコードされた文字列をコピペする
件名や本文に入れる

あとは先ほどコピペしたものを、件名や本文に入れるだけ!

結果的にエンコードした文字を入れたものがこちら。

<a href="mailto:info@example.com?body=%E3%81%93%E3%81%93%E3%81%AB%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%0D%0A%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%85%A5%E5%8A%9B%E3%81%97%E3%81%BE%E3%81%99%E3%80%82">info@example.com</a>

下記をクリックしてメーラーを起動させると、しっかり日本語で本文が記載されているのが確認できます。

info@example.com

(ただ、半角スペースだけはエンコードされずに + 記号がでてしまう。。これはどうしようもないのですかね。。)

HTML aタグのメーラー【暗号化する】

ここまではしなくてもよいと思いますが、

迷惑メールの対策を考えた場合、aタグの中に入れるメールアドレスを暗号化したほうが良いです。

やり方としては簡単。

結論:JavaScriptでメーラーを起動する。

といっても自らJavaScriptのコードを書く必要はありません。

そういったものを自動で作成してくれるツールがあります。

それがこちら↓

https://www.luft.co.jp/cgi/coding.php

メールアドレス暗号化ツールの使い方

使い方も簡単です。

安全性を選択
メールアドレスを記載
「暗号化」をクリック
表示されたコードをコピペ
HTMLにコピペしたコードを記載

できたコードがこちら↓

<script type="text/javascript">
<!--
function converter(M){
var str="", str_as="";
for(var i=0;i<M.length;i++){
str_as = M.charCodeAt(i);
str += String.fromCharCode(str_as + 1);
}
return str;
}
function mail_to(k_1,k_2)
{eval(String.fromCharCode(108,111,99,97,116,105,111,110,46,104,114,101,102,32,
61,32,39,109,97,105,108,116,111,58) 
+ escape(k_1) + 
converter(String.fromCharCode(104,109,101,110,63,100,119,96,108,111,107,100,45,98,110,108,
62,114,116,97,105,100,98,115,60)) 
+ escape(k_2) + "'");} 
document.write('<a href=JavaScript:mail_to("","")>info@example.com<\/a>');
//-->
</script>
<noscript>(画像などを設置)</noscript>

18行目の「info@example.com」部分を変更すれば、表示される文字を変えることができます。

document.write('<a href=JavaScript:mail_to("","")>info@example.com<\/a>');

できあがった例がこちら↓

あまり使用しないと思いますが、迷惑メール防止の対策をする場合は、ご活用されてはいかがでしょうか。

HTML aタグのメーラーの注意点【mailto:実は非推奨】

これまでaタグでメーラーを起動させる設定などを紹介していきました。

最後に注意点をお伝えします。

実はmailtoって非推奨なんですよね。

理由は下記。

  • 文字化けする可能性がある
  • 迷惑メールの標的になる可能性あり
  • ユーザービリティに課題があるため
  • ユーザー側の設定によって起動しない

順に簡単に解説します。

mailto非推奨理由①:文字化けする可能性がある

先述した通り、日本語が文字化けしてしまう可能性があります。

ユーザー側が使用している環境は様々ですからね。

mailto非推奨理由②:迷惑メールの標的になる可能性あり

単純にメールアドレスを公開してしまってますから、迷惑メールの対象になる可能性はあります。

mailto非推奨理由③:ユーザービリティに課題があるため

ユーザー側からしたら「いきなりメールソフトが起動した!???」となる場合があります。

例えば下記ですね。

ビックリするよ~

リンク設定している文字によっては、メールが起動するとは想定しない場合があるのも事実。

mailto非推奨理由④:ユーザー側の設定によって起動しない

ユーザー側がメールソフトを設定してないと、起動することができません。

そのためできればフォームからお問合せが良いかも

以上の理由から、mailtoは非推奨となっています。

できればお問い合わせフォームから送信させるほうが良いかもですね。。

ただ「mailto」は、覚えておいて損はしません。

というのも実際「メーラーが起動するようにしておいて」と要望がありますからね。

そのため使用頻度はけっこうあるかと。

ジト
ジト

案件で使用するためにも使い方は覚えておくべし!

HTML aタグのメーラー起動方法:まとめ

  • 「mailto:指定のメールアドレス」を記述する
  • 件名、本文なども設定できる
  • 文字化け対策としてエンコード使用がおすすめ
  • 迷惑メール対策としてJavaScriptで記述
  • 色んな理由から実は非推奨ではある
ジト
ジト

実案件ではよく使用するので覚えておこう!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA