3つのスキーム
各スキームは、スマートフォンが適切なアプリに渡せる、短いテキストです。mailto:はメールアプリを、tel:は電話アプリのダイヤル画面を、sms:はメッセージアプリを開き、宛先と、場合によってはメッセージも、あらかじめ入力されます。
電話番号は、+15035550123のように、プラス記号と国番号を付けた、国際形式にするのが最適です。ほかの国からの訪問者でも、コードが機能します。
- mailto:hello@example.com?subject=Order%20question&body=Hi (RFC 6068)
- tel:+15035550123 (RFC 3966)
- sms:+15035550123?body=Hello (RFC 5724)
- SMSTO:+15035550123:Hello(古い慣習で、今でも広く読み取れます)
- MATMSG:TO:hello@example.com;SUB:Hi;BODY:Hello;;(古いメールの慣習)
メッセージ本文のエンコード
mailtoやsmsのリンクの件名や本文は、パーセントエンコードが必要で、スペースは%20、テキスト内のアンパサンドは%26になります。エンコードしていない文字があると、メッセージが途中で切れたり、リンクが壊れたりすることがあります。
プラットフォームが、smsのbodyパラメーターを、常に同じように解析してきたわけではありません。古いSMSTO:形式が、今でもQRジェネレーターでよく使われているのは、これが理由の1つです。印刷する前に、iPhoneとAndroidの両方でテストするのが、確実な確認方法です。
これらのコードにできないこと
QRコードだけでは、メールを送ったり、テキストメッセージを送ったり、電話をかけたりはできません。項目が入力された状態でアプリを開くだけで、送信や発信のボタンを押すかどうかは、読み取った人が決めます。
送信する前に宛先が表示されるので、期待どおりかどうかを確認してください。有料の番号や見覚えのないアドレスへのメッセージが入力済みのコードは、危険な兆候です。