如何使用 JavaScript 在电子邮件正文中添加 HTML

how to add html in a email body using javascript?

本文关键字:添加 HTML 正文 电子邮件 何使用 JavaScript      更新时间:2023-09-26

我必须向用户发送一封确认电子邮件。单击链接后,我想打开他们的默认电子邮件客户端并将 HTML 添加到 body 标签中。

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?

答案很短,但很不幸:

不。

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

从网页上你无能为力。

使用

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

首先,对代码进行一些修复:

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