在不使用PHP的情况下提交联系表


Submit Contact Form without using PHP

我仍然是一名学生,今天我们的讲师告诉我们,为了提交联系我们表格而不必使用mailto:函数,唯一的方法是使用PHP。

我发誓,去年另一位讲师向我们展示了一种仅使用javascript的方法。

是否可以使用基本表单和javascript提交反馈/联系表格?如果是这样,您介意分享一个示例吗?

提前致谢

您可以使用JavaScript重定向到带有某些参数的mailto:,但这并不理想。 另请记住,mailto: URL 中电子邮件地址以外的任何内容都是非标准的。 虽然它适用于许多浏览器,但它不适用于所有浏览器。

发送电子邮件

的最佳方法是在服务器端使用PHP或其他方法

浏览器基于 HTML 创建/提交表单。JavaScript通常用于增强表单(以许多不同的方式)。基本表单将其数据作为 POST 请求发送。要对数据执行任何有用的操作,您需要服务器端代码来处理 POST 请求(例如 PHP)。

你不能向javascript提交表单并期望它做任何事情。您需要服务器端脚本才能接收要处理的表单。Mailto是一个特定于浏览器/操作系统的方法,不一定会调用任何东西。Javscript 可以在进入服务器进行进一步处理之前处理您的表单,但就像我说的,您需要提交给服务器。

Javascript在没有PHP或浏览器支持的情况下无法捕获任何内容。您需要服务器端脚本来接收表单并对其进行处理。没有PHP或其他服务器端脚本的Javascript无法捕获表单。

您可以使用

类似 emailjs.com 的服务:

1) 配置电子邮件JS:

<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 封免费电子邮件,这将适用于简历/投资组合网站。 支持验证码。

EmailJS支持不同的电子邮件提供商(包括自定义SMTP服务器),并为您提供日志和统计信息。