Mailto

mailtoスキームは、Simple Mail Transfer Protocol (SMTP) による電子メールのアドレスを示すものとしてInternet Assigned Numbers Authority (IANA) へ登録されたスキームである。用途が厳密に決まっているわけではないが、mailtoのURLは、そのURLを適用すると、メールクライアントを開き、URL中のアドレスが「To:」欄に入力される、というような動作が想定されている。
例.
HTML中でcodice_1を使って、メールを送るためのリンクを設置するには、以下のようになる。
&lt;a href="mailto:someone@example.com"&gt;メール送信&lt;/a&gt;
SubjectやCCといったヘッダや、本文の初期値を与えることもできるが、改行やスペースについては直接入れることはできず、エンコードする必要がある。
&lt;a href="mailto:someone@example.com?cc=someone_else@example.com&amp;subject=This%20is%20the%20subject&amp;body=This%20is%20the%20body"&gt;メール送信&lt;/a&gt;
アドレスを複数指定することも可能である。
&lt;a href="mailto:someone@example.com,someoneelse@example.com"&gt;Send email&lt;/a&gt;
厳密な文法や指定できる値の完全な一覧については、RFC 6068で規定されている。
動作の問題点.
mailtoのリンクはどんな環境でも正しく動くとは限らない。リンクをクリックして正しく動作するためには、メールクライアントがローカルにインストールしてあり、デフォルトとして設定されている必要がある。Webメールの普及により、メールクライアントのない環境、またメールクライアントはプリインストールしてあるものの、設定すらされず放置されている環境も増えてきている。そのような環境でmailtoのリンクをクリックしても、メールクライアントが設定されていないとエラーを出すか、未設定のメールクライアントが開いてしまうという、どちらにしても望まない結果となってしまう。OperaやGoogle Chromeなど、ブラウザによってはmailtoのリンクでウェブメールを呼び出せるようにする設定も可能なほか、同様なことを実現するサードパーティのソフトウェアも存在する。
セキュリティ上の問題.
RFC 2368でセキュリティ問題が何点か指摘されているが、最大の問題はBotによるメールアドレスの収集である。HTML中のmailtoは、DOMや正規表現などで機械的に読み取ることができ、スパマーからの迷惑メールを招くこととなってしまう。
Botによる読み取りを「困難」にする手法も存在はするが、Botの方の性能が上がれば破られてしまいうる。