Ссылки mailto, sms и tel

Также называют: URI mailto, URI tel, URI sms, SMSTO, QR-код электронной почты, QR-код телефона

Определение

Ссылки mailto, sms и tel — это стандартные схемы URI, которые открывают новое письмо, текстовое сообщение или телефонный звонок. В QR-коде они подставляют данные, но нажать «отправить» или «позвонить» человек всё равно должен сам.

Три схемы

Каждая схема — это короткий фрагмент текста, который телефон умеет передать нужному приложению. 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. Незакодированные символы могут оборвать сообщение или сломать ссылку.

Платформы не всегда одинаково разбирали параметр body в sms, и это одна из причин, по которым более старая форма SMSTO: до сих пор часто встречается в генераторах QR-кодов. Надёжная проверка — протестировать на iPhone и на Android перед печатью.

Чего эти коды не могут

QR-код не может сам отправить письмо, отправить сообщение или совершить звонок. Он лишь открывает приложение с заполненными полями, а сканирующий сам решает, нажимать ли «отправить» или «позвонить».

Поскольку получатель виден до отправки, людям стоит проверить, что он совпадает с ожидаемым. Код, который подставляет сообщение на номер с повышенной тарификацией или на незнакомый адрес, — тревожный признак.

Частые вопросы

Может ли QR-код отправить текстовое сообщение автоматически?

Нет. Код sms или SMSTO открывает приложение для сообщений с подставленными номером и текстом, а нажать «отправить» человеку всё равно нужно.

Как сделать QR-код, который звонит на номер телефона?

Закодируйте tel: и номер в международном формате, например tel:+15035550123. При сканировании откроется набор номера с готовым номером.

Как добавить тему письма в QR-код электронной почты?

Используйте mailto:адрес?subject=Ваша%20тема&body=Ваш%20текст, закодировав пробелы и специальные символы в процентной кодировке.

Чем sms: отличается от SMSTO:?

sms: — стандартная схема URI из RFC 5724, а SMSTO: — более старое соглашение из ранних приложений для чтения QR-кодов. Большинство телефонов читают обе.

Источники и стандарты

Все термины