我还是一名学生,今天我们的讲师告诉我们,无需使用 mailto: 函数即可提交联系我们表单的唯一方法是使用 PHP。
我发誓去年另一位讲师向我们展示了一种仅使用 javascript 的方法。
是否可以使用基本表单和 javascript 提交反馈/联系表单?如果是这样,您介意分享一个示例吗?
提前致谢
我还是一名学生,今天我们的讲师告诉我们,无需使用 mailto: 函数即可提交联系我们表单的唯一方法是使用 PHP。
我发誓去年另一位讲师向我们展示了一种仅使用 javascript 的方法。
是否可以使用基本表单和 javascript 提交反馈/联系表单?如果是这样,您介意分享一个示例吗?
提前致谢
您可以使用 JavaScript 通过一些参数重定向到mailto:
,但这并不理想。还要记住,除了 URL 中的电子邮件地址之外的任何内容mailto:
都是非标准的。虽然它适用于许多浏览器,但它并不适用于所有浏览器。
发送电子邮件的最佳方式是在服务器端,使用 PHP 或其他方式。
表单由浏览器基于 HTML 创建/提交。JavaScript 通常用于增强表单(以许多不同的方式)。基本表单将其数据作为 POST 请求发送。要对数据做任何有用的事情,您需要服务器端代码来处理 POST 请求(例如 PHP)。
您不能向 javascript 提交表单并期望它执行任何操作。您需要一个服务器端脚本才能接收要处理的表单。Mailto 是一种特定于浏览器/操作系统的方法,不一定会调用任何东西。Javscript 可以在转到服务器进行进一步处理之前处理您的表单,但就像我说的那样,您需要提交到服务器。
没有 PHP 或浏览器支持,Javascript 无法捕获任何内容。您需要一个服务器端脚本来接收表单并对其进行处理。没有 PHP 或其他服务器端脚本的 Javascript 无法捕获表单。
您可以使用emailjs.com 之类的服务:
1)配置EmailJS:
<script type="text/javascript" src="https://cdn.emailjs.com/sdk/2.2.4/email.min.js"></script>
<script type="text/javascript">
(function(){
emailjs.init("user_USERID");
})();
</script>
2) 发送电子邮件:
var service_id = 'my_mandrill';
var template_id = 'feedback';
var template_params = {
name: 'John',
reply_email: 'john@doe.com',
message: 'This is awesome!'
};
emailjs.send(service_id,template_id,template_params);
它每月有 200 封免费电子邮件的限制,适用于简历/作品集网站。支持 reCaptcha。
EmailJS 支持不同的电子邮件提供商(包括自定义 SMTP 服务器),并为您提供日志和统计信息。