如何使用javascript在电子邮件正文中添加html?

时间:2012-06-05 14:44:40

标签: javascript html-email

我必须向用户发送确认电子邮件。 点击链接,我想打开他们的默认电子邮件客户端,并在正文标记中添加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?

3 个答案:

答案 0 :(得分:1)

答案很短但很不幸:

使用mailto: - 链接时,您只能指定文字,而不能指定HTML。即使用户的邮件客户端使用HTML撰写邮件消息,您的正文也只会作为文本插入。

从网页上你无能为力。

答案 1 :(得分:0)

使用

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

答案 2 :(得分: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 .. 我用谷歌搜索了一段时间,似乎你无法正确传递它,你不能发送消息而不是打开客户端吗?