2012-06-05 26 views
1

我必須向用戶發送確認電子郵件。 和點擊一個鏈接,我想打開他們的默認電子郵件客戶端,並將HTML添加到身體標記。如何在使用javascript的電子郵件正文中添加html?

var subject = Your transaction No: +': ' + $('#confirmationNumber').text()+ ' is confirmed'; 
var emailBody = $('#confirmation').html(); 
$(this).attr('href','mailto:'+userEmail+'&subject=' + subject +'&body='+ emailBody); 

它希望在「emailBody」的HTML獲得附加以身體爲HTML。但它會顯示整個HTML標籤。

有沒有一種方法可以在體內附加HTML?

回答

1

答案是矮,但不幸的:

當使用mailto: -links

號,只能指定文本,而不是HTML。即使用戶的郵件客戶端使用HTML編寫郵件消息,您的正文文本也只能作爲文本插入。

從網頁上你無能爲力。

0

使用

var emailBody = $('#confirmation').text(); 
+0

是的,我使用過......但它將所有文本追加到電子郵件正文的一行中......我想要一些粗體標記和換行符。 – nipiv

+0

正文必須是'text/plain',你不能在那裏使用HTML標籤。 – Dev

+0

我試過JS編碼,但那對我沒有用。 – Dev

0

首先,一些修正你的代碼:

var subject = 'Your transaction No: ' + $('#confirmationNumber').text() + ' is confirmed', 
    emailBody = $('#confirmation').html(); 
$(this).attr('href', 'mailto:' + userEmail + '&subject=' + subject + '&body=' + encodeURI(emailBody)); 
  • 使用單用逗號var關鍵字和獨立變量
  • subject被串聯嚴重

接下來,如果你想在鏈接中傳遞html代碼,你必須編碼特殊的字符,其中encodeURI()


哎呀,編碼體不被視爲在電子郵件客戶端HTML .. 我用Google搜索了一會兒,似乎不能正確傳遞它,你不能發送郵件,而不必打開客戶端?

+0

第一次爲不好的主題連續劇抱歉,我輸入了那一個。和:(對於encodeURI。這是一個客戶端的要求,但我們正確..我將它作爲一個messge而不是.. – nipiv

相關問題