使用JavaScript发送电子邮件

使用JavaScript发送电子邮件,javascript,email,Javascript,Email,可能重复: 我如何用JavaScript发送电子邮件,Gmail、Yahoo等都可以阅读 这就是我所拥有的: <script language="javascript"> function SendEmail() { var body = escape(document.Form.textfieldName.value +"\n"+document.Form.textfieldEmail.value +"\n"+document.

可能重复:

我如何用JavaScript发送电子邮件,Gmail、Yahoo等都可以阅读

这就是我所拥有的:

<script language="javascript">

       function SendEmail()
       {
           var body = escape(document.Form.textfieldName.value +"\n"+document.Form.textfieldEmail.value +"\n"+document.Form.textfieldMessage.value);

    var sTo="testmail@mail.com";

           var subject = "This is SyntaxHelpSub";

                           window.location.href =
    "mailto:"+sTo+"?subject="+subject+"&body="+body;

               }
</script>

        <div class="formfields">Name: <input class="tbox" id="textfieldName" type="text">

         Email: <input class="tbox" id="textfieldEmail" type="text">

<br><br>

Message: <input class="tbox" id="textfieldMessage" type="text" style="width: 343px">
    </div>

<br>

<input type="button" value="Send!" onclick="SendEmail()" />

你没有。在纯客户端机制中,您在那里放置了一个带有mailto:前缀的链接。又名:

 mailto:someaddress@gmail.com?subject=SomeText

这看起来就像你在做什么,除了用户必须点击这个;您不能以编程方式调用发送电子邮件。此外,你也无法控制gmail或yahoo如何处理收到的电子邮件

如果您真的想通过javascript发送电子邮件,那么您需要一个协作的服务器进程,您可以调用ajax。javascript ajax调用将把电子邮件的内容传递给服务器,服务器将发送实际的电子邮件

浏览器客户端实际上并不发送电子邮件。mailto:功能允许浏览器与用户选择的电子邮件程序通信,以请求该程序代表用户发送电子邮件。此功能可能存在,也可能不存在,也可能不在任何给定浏览器中工作-您无法知道。例如,我妻子使用Yahoo mail和mailto:链接对她来说永远不起作用,因为她的计算机上没有电子邮件客户端程序来配合浏览器发送电子邮件。在我看来,现在有这么多的网络电子邮件客户端,在浏览器中依赖mailto:功能是个坏主意


如果您没有自己的服务器可以为您做到这一点,那么有一些类似的服务提供免费的电子邮件发送服务,您可以通过javascript/ajax向他们提供这些服务。要以这种方式使用Wufoo,您必须按照Wufoo期望的方式构建Wufoo表单,将其包含在页面中,它可以隐藏,填充它可以保持隐藏,然后通过ajax提交,wufoo服务器会将电子邮件发送到您想要的目的地。

:D如果您的意思是在发送电子邮件时不调用某种应用程序来接管任务,我认为您不能。可能重复:除非您使用服务器端JavaScript,即Node.js,否则您将无法通过js发送电子邮件。您所能做的最好是构造一个用户可以单击的mailto链接。简短回答:不可能。您正在使用mailto架构。这将打开用户计算机上的默认邮件管理器。Gmail和其他电子邮件提供商可以阅读这些电子邮件。而且,不能只调用该函数。用户必须单击带有mailto模式的链接才能使其工作。