mailto
mailtoスキームは、Simple Mail Transfer Protocol (SMTP) による電子メールのアドレスを示すものとしてInternet Assigned Numbers Authority (IANA) へ登録されたスキームである。用途が厳密に決まっているわけではないが、mailtoのURLは、そのURLを適用すると、メールクライアントを開き、URL中のアドレスが「To:」欄に入力される、というような動作が想定されている[1][2]。
例
[編集]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のリンクでウェブメールを呼び出せるようにする設定も可能なほか、同様なことを実現するサードパーティのソフトウェアも存在する[3]。
セキュリティ上の問題
[編集]RFC 2368でセキュリティ問題が何点か指摘されているが、最大の問題はBotによるメールアドレスの収集である。HTML中のmailtoは、DOMや正規表現などで機械的に読み取ることができ、スパマーからの迷惑メールを招くこととなってしまう。
Botによる読み取りを「困難」にする手法も存在はするが[4]、Botの方の性能が上がれば破られてしまいうる。
脚注
[編集]- ^ RFC 2368 section 3 : by Paul Hoffman in 1998 discusses operation of the "mailto" URL.
- ^ “MailTo構文についてのまとめ”. VDR評価サイト. 2019年8月26日時点のオリジナルよりアーカイブ。2023年5月15日閲覧。
- ^ 柳英俊 (2010年11月11日). ““mailto:”リンクをGmailなどのWebメールサービスで開ける「GmailDefaultMaker」”. 窓の杜. Impress Watch. 2012年7月21日閲覧。
- ^ “Give the Spammers' Harvesting Robots No Chance”. About.com. 2012年7月21日閲覧。