Как установить правильное имя для получателя, когда в HTML я хочу использовать тег mailto.
Что-то вроде:
mailto:"John Wayne([email protected])?subject..
Как мне это достичь?
Как установить правильное имя для получателя, когда в HTML я хочу использовать тег mailto.
Что-то вроде:
mailto:"John Wayne([email protected])?subject..
Как мне это достичь?
Оригинальный стандарт для ссылок mailto:
, RFC 1738, говорит следующее:
URL-адрес mailto принимает форму:
mailto:<rfc822-addr-spec>
где
<rfc822-addr-spec>
(кодирование a)addr-spec
, так как указанный в RFC 822 [6].
В соответствии с этим определением не может быть включено собственное имя.
Но раздел mailto:
RFC 1738 был заменен RFC 2368, который позволяет (среди прочего, включая предопределенные сюжетные линии) для RFC 822 mailbox
спецификация, которая включает в себя собственное имя.
[2016-05-31] Как отмечает Давид Балажич в комментарии, RFC 2368 в свою очередь устарел RFC 6068. Из раздела 9 "Основные изменения из RFC 2368":
Основные изменения RFC 2368 заключаются в следующем:
В реальном использовании mailto:Fred Foo<[email protected]>
все еще работает, но его официально не поддерживает; вам также может потребоваться кодировать пространство, т.е. mailto:Fred%20Foo<[email protected]>
, и/или поместить имя в кавычки, то есть mailto:"Fred Foo"<[email protected]>
.
Попробуйте это: mailto:%22John%20Wayne%22%[email protected]%3e?subject..
Оберните имя в %22
и в электронном письме %3c
перед ним, %3e
после него и %20
для пробелов
Это выведет: "John Wayne"<[email protected]>
Полный список кодировки URL здесь: http://www.w3schools.com/tags/ref_urlencode.asp
Я пробовал
mailto:John Wayne<[email protected]>?subject...
и, похоже, он работает.
<a href="mailto:lala lala2([email protected])?subject=MailTo Comments&[email protected]&[email protected]">ddddd</a>
Помните, чтобы использовать только один? (знак вопроса) при предоставлении нескольких записей за пределами адреса электронной почты
Как упоминалось в других ответах, RFC 2368 позволяет использовать полный синтаксис mailbox
, который может находиться в name-addr
(display-name
плюс angle-addr
) (RFC 5322). К сожалению, это было устарело RFC 6068, которое позволяет только форма addr-spec
. Тем не менее, обе спецификации позволяют исключить полномочия URI (где обычно идет адрес), и указывать полные поля заголовка (включая To:
) в качестве параметров запроса. Поэтому mailto:?to=John%20Wayne%20%[email protected]%3e
действительно.
Все зависит от того, какой почтовый клиент вы используете. Я уже давно пробовал в Outlook Express, и все в порядке. Но через много лет я использую Dream Mail, и он будет включать только часть адреса электронной почты, но не укажет название.
Кодировать uri и назначать его mailto.
Также ваше электронное письмо и отображаемое имя должны быть сформированы как John Wayne <[email protected]> or [email protected] (John Wayne)
.
Убедитесь, что вы сделали encodeURI для них. Иначе это не будет нормально работать в разных почтовых клиентах.
Вы не можете установить имя квитанции на mailto ссылки