网站表单提交后如何将用户消息发送至个人邮箱?
实现表单提交后发送邮件到个人邮箱的方法
嘿,要让表单提交后把消息发到你的邮箱,纯前端是做不到的——因为浏览器没有权限直接发送邮件,必须借助后端代码或者第三方服务来处理。下面给你两种最常用的方案:
方案一:用后端代码处理(推荐,可控性强)
如果你有自己的服务器(比如支持PHP的虚拟主机),可以写一个简单的后端脚本接收表单数据,然后发送邮件。这里以PHP为例:
第一步:修改你的前端表单代码
把表单的action属性改成后端脚本的路径(比如send-email.php),同时确保表单用POST方法提交:
<div class="single_contant_left"> <form action="send-email.php" id="formid" method="POST"> <div class="form-group"> <input type="text" class="form-control" name="name" placeholder="first name" required=""> </div> <div class="form-group"> <input type="email" class="form-control" name="email" placeholder="Email" required=""> </div> <div class="form-group"> <input type="text" class="form-control" name="subject" placeholder="Subject" required=""> </div> <div class="form-group"> <textarea class="form-control" name="message" rows="8" placeholder="Message"></textarea> </div> <div class=""> <input type="submit" value="Submit" class="btn btn-primary"> </div> </form> </div>
第二步:创建后端脚本send-email.php
把下面的代码保存成send-email.php,上传到和表单页面同一个目录下,记得把your-email@example.com改成你自己的邮箱:
<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { // 获取表单数据 $name = trim($_POST["name"]); $email = trim($_POST["email"]); $subject = trim($_POST["subject"]); $message = trim($_POST["message"]); // 设置收件人邮箱 $to = "your-email@example.com"; // 设置邮件头部信息 $headers = "From: " . $name . " <" . $email . ">\r\n"; $headers .= "Reply-To: " . $email . "\r\n"; $headers .= "Content-Type: text/plain; charset=UTF-8\r\n"; // 发送邮件 if (mail($to, $subject, $message, $headers)) { // 发送成功后的提示 echo "邮件发送成功!我们会尽快回复你。"; } else { echo "邮件发送失败,请稍后重试。"; } } ?>
⚠️ 注意:有些服务器的mail()函数可能需要配置SMTP才能正常工作,如果遇到发送失败的情况,可以用更可靠的库比如PHPMailer来替代原生的mail()函数。
方案二:用第三方表单服务(不用写后端,适合新手)
如果你不想自己写后端代码,可以用专门的表单处理服务,这类服务会帮你接收表单数据并转发到你的邮箱。用法很简单:
- 注册一个这类服务
- 获取服务提供的专属表单提交URL
- 把你的表单
action属性改成这个URL,同时设置method="POST"
比如修改后的表单核心部分是这样:
<form action="你的专属表单提交URL" id="formid" method="POST"> <!-- 表单内容和之前一致 --> </form>
这类服务通常还会提供垃圾邮件过滤、提交统计等功能,配置起来很省心。
避坑提醒
不要用mailto:作为表单的action——这种方式会调用用户本地的邮件客户端(比如Outlook、Foxmail),体验很差,而且大部分邮件服务商都会把这类邮件标记为垃圾邮件,大概率收不到。
内容的提问来源于stack exchange,提问作者Evan F
相关产品推荐
相关产品推荐

