2015-09-23 5 views
1

Я использую JavaScript для формулировки URI mailto:, но почему-то \n символов не работают. n удаляется из моего тела электронной почты

Моя строка строится так:

var emailBody = "This is the first line!\n" + "This is the next line.\n" + "And so on and so forth.\n";

И тогда я сформировать URL как:

var mailToLink = 'mailto:' + emailTo 
       + '?subject=' + emailSubject 
       + '&body=' + emailBody; 

и настроить браузер, чтобы перейти к этому URI:

var win = window.open(mailToLink, 'emailWindow'); 

Мой почтовый клиент открывается с черновиком письма в окне , но все «строки» отображаются последовательно. Я не вижу разрывов строк, кроме тех, которые отображаются из-за естественного переноса сообщений почтового клиента.

Как я могу создать это письмо с символами новой строки?

+0

Как эта строка преобразуется из структуры данных JavaScript в содержимое электронной почты? – Quentin

+0

Отформатирован ли ваш адрес электронной почты в формате HTML? В этом случае вам нужно будет использовать '
' – arcyqwerty

+1

_Completely_ зависит от множества вещей, которые мы не можем видеть. Я никогда не слышал о том, что письма генерируются JavaScript. –

ответ

1

создать переменную: mailToLink = 'электронной почты:'? + EmailTo + подлежащее =»+ + почтового сообщения '& тело =' + emailBody;

У вас не может быть буквальной новой строки в URL-адресе.

Вы должны пройти каждое значение через the encodeURIComponent() function при добавлении его в строке URL (который будет заботиться о всех персонажей с особым значением, включая новые линии, +, % и так далее).

+0

ABSOLUTE GENIUS! Работал как шарм! Я очень доволен, потому что я не вижу никаких ответов, подобных этому где-либо еще на Stack! Возьми свой правильный и уверенный, добрый сэр. – Chris

Смежные вопросы