2015-05-26 1 views
0

При создании черновика электронной почты с текстом основного текста из ссылки HTML mailto параметры форматирования по умолчанию Outlook автоматически добавляют разрыв строки после строк, превышающих 120 символов, которые заканчиваются разрывом строки (% 0D% 0A). Кто-нибудь знает, как я мог бы предотвратить это? Мое предположение заключается в том, что именно так будет вести себя Outlook, и я не смогу изменить его, по крайней мере, не по ссылке mailto.HTML mailto ссылку с текстом тела; outlook add unwanted line break

Сообщите мне, если вам нужна дополнительная информация или если я неясен. Спасибо за ваше время.

EDIT: пример jsfiddle: https://jsfiddle.net/q7rc1y65/2/

+0

Вам нужно предоставить код или результат, чтобы мы могли с вами связаться. Но что-то нужно знать, так это то, что каждый почтовый клиент работает по-другому с css по https://www.campaignmonitor.com/css/ – keikoku92

ответ

0

Единственным верным способом для создания разрывов строк с электронной почты: команда должна использовать% 0D% 0A. К сожалению, Outlook автоматически форматирует сообщения и обрабатывает текст длиной более 120 символов с разрывом строки в качестве абзаца. Вы можете увидеть это, нажав ctrl + shift + 8.

Вы можете изменить, как это происходит при вашей собственной установке outlook See Here, но вы не можете использовать команду mailto: для управления этим поведением. Альтернативным решением было бы использовать форму электронной почты вместо ссылки mailto, а затем отправить сервер электронной почты. Здесь у вас гораздо больший контроль над внешним видом и структурой тела, а также возможность создавать html-письма.

Вот обновленная скрипка, демонстрирующая вашу проблему: JSFIDDLE.

<a href="">MAIL!</a> 
<br /><br /> 
MAILTO HREF: 
<div id='linkText'></div> 

$().ready(function() { 
    var returnChar = encodeURIComponent('%0D%0A');  
    var subject = encodeURIComponent('this is the subject');  
    var body = encodeURIComponent('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nos '); 
    var bodySub120 = encodeURIComponent('Lorem ipsum dolor sit amet, consectetur adipiscing elit '); 

    var href = 'mailto:[email protected]?subject=' + subject + '&body='; 
    var href= href + bodySub120 + returnChar + bodySub120 + returnChar + body + returnChar + body + returnChar; 
    $('a').attr("href", href); 
    $('div#linkText').text(href); 
}); 
+0

Извините, что я не заметил, что это происходит, когда заканчивается строка, добавляя разрыв строки. Сейчас я отредактирую свой пост. Я изменил ваш пример, чтобы показать это: https://jsfiddle.net/q7rc1y65/2/ Обратите внимание на разницу в поведении между строками, длина которых не превышает 120 символов, и те, которые не являются. – user95227

+0

Я смог воспроизвести вашу проблему. используя cntrl + shift + 8, я вижу, что Outlook выбирает обработать вашу линию возврата каретки в качестве абзаца. Я не думаю, что можно делать то, что вы просите. См. Ответ выше для альтернативы. – Brino