Mailtomailtoスキームは、Simple Mail Transfer Protocol (SMTP) による電子メールのアドレスを示すものとしてInternet Assigned Numbers Authority (IANA) へ登録されたスキームである。用途が厳密に決まっているわけではないが、mailtoのURLは、そのURLを適用すると、メールクライアントを開き、URL中のアドレスが「To:」欄に入力される、というような動作が想定されている[1][2]。 例HTML中で <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のリンクでウェブメールを呼び出せるようにする設定も可能なほか、同様なことを実現するサードパーティのソフトウェアも存在する[3]。 セキュリティ上の問題RFC 2368でセキュリティ問題が何点か指摘されているが、最大の問題はBotによるメールアドレスの収集である。HTML中のmailtoは、DOMや正規表現などで機械的に読み取ることができ、スパマーからの迷惑メールを招くこととなってしまう。 Botによる読み取りを「困難」にする手法も存在はするが[4]、Botの方の性能が上がれば破られてしまいうる。 脚注
|