Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我是否可以只使用Javascript发送电子邮件,而不必单击电子邮件客户端上的“发送”按钮?_Javascript_Email - Fatal编程技术网

我是否可以只使用Javascript发送电子邮件,而不必单击电子邮件客户端上的“发送”按钮?

我是否可以只使用Javascript发送电子邮件,而不必单击电子邮件客户端上的“发送”按钮?,javascript,email,Javascript,Email,我用HTML创建了一个表单,当点击submit按钮时,onclick事件调用以下函数: function ProcessSubmition(){ var stringEmailBody=BuildEmailBody(); var stringTo=document.getElementById("SubmittersEmail").value; var stringSubject = "My Subject Text"; window.location.href

我用HTML创建了一个表单,当点击submit按钮时,
onclick
事件调用以下函数:

function ProcessSubmition(){

   var stringEmailBody=BuildEmailBody();

   var stringTo=document.getElementById("SubmittersEmail").value;

   var stringSubject = "My Subject Text";

   window.location.href = "mailto:"+stringTo+"?subject="+stringSubject+"&body="+stringEmailBody;

}
我的项目有两个要求:

  • 我们的服务器上不允许使用PHP
  • 填写表格的人员不得编辑包含计算价格的数据
  • 问题是:

    当函数启动时,邮件客户端窗口出现,并显示由函数构造的消息,用户必须单击邮件客户端窗口中的“发送”按钮。
    不幸的是,在用户单击“发送”之前,他们可以简单地将计算出的价格更改为较低的美元金额,这显然是不可接受的

    有没有办法隐藏邮件客户端窗口并自动发送?或者,我可以用其他方法来解决这个问题吗


    谢谢你能给我的任何帮助

    简短回答:

    在浏览器上下文中运行的JavaScript代码是可由最终用户操作的客户端代码。因此,您永远不应该依赖客户端代码来执行任何敏感操作

    基本上,您需要一些服务器端支持来实现您想要实现的目标,否则它将永远不会安全。现在,如果用户可以篡改你的代码对你来说是危险的,那么如果你的代码可以在没有任何形式的批准的情况下代表他们发送电子邮件,对他们来说也是危险的

    即使您可以像您要求的那样直接与邮件客户端对话,并使电子邮件自动发送,也没有任何东西可以阻止用户编辑生成消息的JavaScript源代码并更改消息内容


    备选方案?如果您永远无法使用任何服务器端技术,也许您可以通过电子邮件发送表单详细信息,然后在另一个过程中进行定价计算。

    简短回答:

    在浏览器上下文中运行的JavaScript代码是可由最终用户操作的客户端代码。因此,您永远不应该依赖客户端代码来执行任何敏感操作

    基本上,您需要一些服务器端支持来实现您想要实现的目标,否则它将永远不会安全。现在,如果用户可以篡改你的代码对你来说是危险的,那么如果你的代码可以在没有任何形式的批准的情况下代表他们发送电子邮件,对他们来说也是危险的

    即使您可以像您要求的那样直接与邮件客户端对话,并使电子邮件自动发送,也没有任何东西可以阻止用户编辑生成消息的JavaScript源代码并更改消息内容


    替代方案?如果您永远无法使用任何服务器端技术,也许你可以简单地通过电子邮件发送表单详细信息,然后在另一个过程中进行定价计算。

    不。你需要某种服务器。考虑到你的限制,你真正想做的是让javascript调用发送邮件的服务器上的web服务。警告——如果服务使用来自服务调用的数据,那么如果用户想要入侵您的系统,就无法阻止他们更改数据;他们可以通过多种方式处理这些信息。“有没有办法隐藏邮件客户端窗口并自动发送?”——我不想太粗鲁,但是……在问这个问题之前,你有没有动过脑筋?如果可能的话——猜猜我的网站只需要你访问一下,就可以以你的名义发送多少封“ch3ap v1agra!!1”邮件……CBroe,我学习网络编程才两周,多年来我一直在用C#和VB.Net编写代码。你的回答真的让我思考,我看到了光明!现在我明白了javascript应该做什么,php应该做什么。我有自己的服务器,但即使我从公司网站上发送到服务器上表单的链接,发送到php的帖子也被错误405阻止。我想我只需要将链接本身通过电子邮件发送给用户,绕过该公司的网站。你认为呢?不。你需要某种服务器。考虑到你的限制,你真正想做的是让javascript调用服务器上的web服务来发送邮件。警告——如果服务使用来自服务调用的数据,那么如果用户想要入侵您的系统,就无法阻止他们更改数据;他们可以通过多种方式处理这些信息。“有没有办法隐藏邮件客户端窗口并自动发送?”——我不想太粗鲁,但是……在问这个问题之前,你有没有动过脑筋?如果可能的话——猜猜我的网站只需要你访问一下,就可以以你的名义发送多少封“ch3ap v1agra!!1”邮件……CBroe,我学习网络编程才两周,多年来我一直在用C#和VB.Net编写代码。你的回答真的让我思考,我看到了光明!现在我明白了javascript应该做什么,php应该做什么。我有自己的服务器,但即使我从公司网站上发送到服务器上表单的链接,发送到php的帖子也被错误405阻止。我想我只需要将链接本身通过电子邮件发送给用户,绕过该公司的网站。你觉得怎么样?谢谢大家的帮助。谢谢大家的帮助。