2015-05-26 63 views
0

當從HTML mailto鏈接生成帶正文文本的電子郵件草稿時,Outlook的默認格式設置將在超過120個以換行符(%0D%0A)結尾的字符行後自動添加換行符。任何人都知道我可以如何防止這種情況發生?我的假設是,這是Outlook的行爲方式,我不能改變這一點,至少不能從mailto鏈接中更改。HTML郵件與正文文本鏈接; Outlook添加不需要的換行符

讓我知道你是否需要任何額外的信息,或者如果我不清楚。感謝您的時間。

編輯:示例的jsfiddle:https://jsfiddle.net/q7rc1y65/2/

+0

您需要提供代碼或導致失敗,因此我們可以與您一起調查。但需要知道的是,每個電子郵件客戶端的工作方式與css不同https://www.campaignmonitor.com/css/ – keikoku92

回答

0

以產生線的唯一有效方式中斷與的mailto:命令是使用%0D 0A%。不幸的是,Outlook會自動格式化郵件並將長度超過120個字符的文本作爲段落使用換行符對待。您可以通過按Ctrl + Shift + 8來查看。

您可以在您自己安裝的outlook上更改其行爲方式,但不能使用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

相關問題