使用JavaScript发送HTML电子邮件

时间:2013-02-26 13:04:05

标签: javascript html html5

我正在创建一个发送电子邮件的表单(仅使用HTML和JavaScript)。我想在电子邮件正文中插入一个简单的HTML表格。像这样:

<table border=1> <tr><td>blabla</td></tr> </table>

点击“发送”按钮后,会调用一个JavaScript函数,该函数通过URL发送电子邮件,POST数据出现在我的电子邮件客户端 - Outlook(这对我来说没问题),但格式有问题。电子邮件的正文中的数据是纯文本格式。

  1. 还有其他方法只能使用JavaScript吗?
  2. 是否有必要使用某种服务器端脚本(如PHP或其他)来正确格式化?

3 个答案:

答案 0 :(得分:1)

您可以使用JavaScript mailto功能。试试这个,希望它能帮助你

<div id="mailBody"><table border=1> <tr><td>blabla</td></tr> </table></div>
<input type="button" onclick="sendMail();">

在脚本标记下

function sendMail()
{
   var mailBody=document.getElementById('mailBody').innerHTML;
   window.location="mailto:yourmail@domain.com?subject=hii&body="+mailBody;
}

答案 1 :(得分:1)

如果您只想使用java脚本发送HTML电子邮件,请尝试如下...

但我有不推荐这种类型的邮件发送....

通过Javascript发送HTML电子邮件:

function SendEmail()
{
    var outlookApp = new ActiveXObject("Outlook.Application");
    var nameSpace = outlookApp.getNameSpace("MAPI");
    mailFolder = nameSpace.getDefaultFolder(6);
    mailItem = mailFolder.Items.add('IPM.Note.FormA');
    mailItem.Subject = "Me";
    mailItem.To = "me@me.com";
    mailItem.HTMLBody = "<table border=1> <tr><td>blabla</td></tr> </table>";
    mailItem.display(0);
}

如果你想通过javascript以纯文本形式发送电子邮件,请尝试如下...

通过Javascript发送纯文字:

window.open('mailto:test@example.com?subject=subject&body=Testing Email');

更好地使用服务器端编码发送电子邮件

答案 2 :(得分:-1)

如果查看来源,<个字符是什么样的?如果它们类似于&#60;&lt;,那么您需要对这些进行禁用编码。此外,您需要将格式设置为HTML邮件。对不起,我不是 PHP 的人,但我想你需要服务器端代码。