不使用PHP提交联系表单

5

我还是一个学生,今天我们的讲师告诉我们,如果不想使用mailto:功能提交联系我们表单的唯一方法就是使用PHP。

我发誓去年另一个讲师向我们展示了只使用javascript的方法。

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

提前谢谢。


4
JavaScript可以发送表单电子邮件吗? - Josh
这个回答另一个SO的问题建议使用http://formspree.io: https://dev59.com/rGXWa4cB1Zd3GeqPR_Mw#28536121 - Thomas B in BDX
5个回答

3
您可以使用JavaScript带一些参数重定向到mailto:,但这并不理想。同时请记住,在mailto: URL中除了电子邮件地址以外的任何内容都是非标准的。虽然它对于许多浏览器有效,但并不适用于所有情况。
最好的发送电子邮件的方法是在服务器端使用PHP或其他语言。

那么,没有打开客户端默认邮件查看器并让他们点击发送,就无法发送电子邮件了吗? - user1301836

2

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


1

你不能将表单提交给JavaScript并期望它会有任何反应。你需要一个服务器端脚本来接收表单以供处理。Mailto是一种特定于浏览器/操作系统的方法,不一定能调用任何东西。在到服务器进行进一步处理之前,JavaScript可以处理你的表单,但正如我所说,你需要将其提交到服务器。


1
Javascript没有PHP或浏览器支持就无法捕获任何内容。您需要一个服务器端脚本来接收和处理表单。没有PHP或其他服务器端脚本的Javascript无法捕获表单。

1
您可以使用像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服务器),并为您提供日志和统计信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接