1

我必须向用户发送确认电子邮件。单击链接时,我想打开他们的默认电子邮件客户端并将 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?

4

3 回答 3

2

答案很简短,但很不幸:

不。

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

您无法从网页中对此进行任何操作。

于 2012-06-05T15:58:35.413 回答
0

采用

var emailBody = $('#confirmation').text();
于 2012-06-05T14:47:03.253 回答
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。我用谷歌搜索了一段时间,似乎你无法正确传递它,你不能发送消息而不是打开客户端吗?

于 2012-06-05T14:52:50.280 回答