Mailto

mailtoスキームは、Simple Mail Transfer Protocol (SMTP) による電子メールのアドレスを示すものとしてInternet Assigned Numbers Authority (IANA) へ登録されたスキームである。用途が厳密に決まっているわけではないが、mailtoのURLは、そのURLを適用すると、メールクライアントを開き、URL中のアドレスが「To:」欄に入力される、というような動作が想定されている。

例 
HTML中でmailtoを使って、メールを送るためのリンクを設置するには、以下のようになる。
<a href="mailto:someone@example.com">メール送信</a>

SubjectやCCといったヘッダや、本文の初期値を与えることもできるが、改行やスペースについては直接入れることはできず、エンコードする必要がある。

<a href="mailto:someone@example.com?cc=someone_else@example.com&subject=This%20is%20the%20subject&body=This%20is%20the%20body">メール送信</a>

アドレスを複数指定することも可能である。
<a href="mailto:someone@example.com,someoneelse@example.com">Send email</a>

厳密な文法や指定できる値の完全な一覧については、RFC 6068で規定されている。

動作の問題点 
mailtoのリンクはどんな環境でも正しく動くとは限らない。リンクをクリックして正しく動作するためには、メールクライアントがローカルにインストールしてあり、デフォルトとして設定されている必要がある。Webメールの普及により、メールクライアントのない環境、またメールクライアントはプリインストールしてあるものの、設定すらされず放置されている環境も増えてきている。そのような環境でmailtoのリンクをクリックしても、メールクライアントが設定されていないとエラーを出すか、未設定のメールクライアントが開いてしまうという、どちらにしても望まない結果となってしまう。OperaやGoogle Chromeなど、ブラウザによってはmailtoのリンクでウェブメールを呼び出せるようにする設定も可能なほか、同様なことを実現するサードパーティのソフトウェアも存在する。

セキュリティ上の問題 
RFC 2368でセキュリティ問題が何点か指摘されているが、最大の問題はBotによるメールアドレスの収集である。HTML中のmailtoは、DOMや正規表現などで機械的に読み取ることができ、スパマーからの迷惑メールを招くこととなってしまう。

Botによる読み取りを「困難」にする手法も存在はするが、Botの方の性能が上がれば破られてしまいうる。

脚注 

電子メール
Uniform Resource Locator
2368