我是否可以使用仅使用Javascript发送电子邮件而无需单击电子邮件客户端上的“发送”按钮?

时间:2013-04-26 13:28:51

标签: javascript email

我在HTML中创建了一个表单,当点击 提交 按钮时,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;

}

我的项目有两个要求:

  1. 我们的服务器上不允许使用PHP。
  2. 填写表单的人员必须无法编辑包含计算价格的数据。
  3. 问题:

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

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

    感谢您提供给我的任何帮助。

1 个答案:

答案 0 :(得分:1)

简短回答:

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

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

即使你可以像你要求的那样直接与邮件客户端交谈并自动发送电子邮件,也没有什么能阻止用户编辑生成邮件的JavaScript源并更改邮件内容。

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