mailto связывает несколько линий тела



возникли проблемы с получением нескольких строк для правильной работы в mailto link



в моем случае я тестирую его с помощью программы чтения почты Outlook по умолчанию.



в якорь href ставится следующее:



mailto:[email protected]?&subject=test&body=type%20your&body=message%20here



только "сообщение здесь" отображается в теле электронной почты. (использую ли я chrome или IE)



мысли?

663   4  

4 ответов:

можно использовать кодировка URL для кодирования новой строки как %0A.

mailto:[email protected]?subject=test&body=type%20your%0Amessage%20here

в то время как выше, кажется, работает во многих случаях, пользователь olibre указывает что RFC, управляющий схемой URI mailto, указывает, что %0D%0A (возврат каретки + перевод строки) должны использоваться вместо %0A (линия подачи). Смотрите также:Представления Новой Строки.

  1. использовать один body параметр внутри mailto строка
  2. использовать %0D%0A в строку

The mailto схема URI определяется как RFC2368 (июль 1998) и RFC6068 (октябрь 2010).
Ниже приводится выдержка из 5 из этого последнего RFC:

[...] разрывы строк в теле сообщения должны быть закодировано с помощью "%0D%0A".
Реализации могут добавить окончательный разрыв строки в тело сообщения даже если нет трейлинга "%0D%0A" в тело...]

Смотрите также в статья 6 пример из того же RFC:

<mailto:[email protected]?body=send%20current-issue%0D%0Asend%20index>

выше mailto тела соответствует:

send current-issue
send index

чтобы получить линии тела используйте escape ()

body_line =  escape("\n");

так

href = "mailto:[email protected]?body=hello,"+body_line+"I like this.";

Это то, что я делаю, просто добавьте \n и использовать encodeURIComponent

пример

var emailBody = "1st line.\n 2nd line \n 3rd line";

emailBody = encodeURIComponent(emailBody);

href = "mailto:[email protected]?body=" + emailBody;

Comments

    Ничего не найдено.