如何编写并执行用于HTML反馈表单的PHP邮件脚本?
表单提交至邮箱的PHP初始脚本示例
首先需要修改你的HTML表单,添加method和action属性,让表单明确提交方式与目标脚本:
<form id="survey-form" method="POST" action="submit-form.php">
其余表单字段保持原样即可。
以下是处理表单提交的PHP脚本submit-form.php,针对姓名、邮箱、年龄、当前角色这几个核心字段实现邮件发送功能:
<?php // 仅处理POST请求 if ($_SERVER['REQUEST_METHOD'] !== 'POST') { die("请求方式无效。"); } // 安全过滤输入数据 $name = isset($_POST['name']) ? trim(htmlspecialchars($_POST['name'])) : ''; $email = isset($_POST['email']) ? trim(htmlspecialchars($_POST['email'])) : ''; $age = isset($_POST['age']) ? trim(htmlspecialchars($_POST['age'])) : '未填写'; $role = isset($_POST['role']) ? trim(htmlspecialchars($_POST['role'])) : ''; // 验证必填字段 if (empty($name) || empty($email) || empty($role)) { die("请填写所有必填字段。"); } // 构建邮件内容 $subject = "新的反馈表单提交"; $message = "收到一条新反馈:\n\n"; $message .= "姓名: " . $name . "\n"; $message .= "邮箱: " . $email . "\n"; $message .= "年龄: " . $age . "\n"; $message .= "当前角色: " . $role . "\n"; // 设置邮件头,避免乱码 $headers = "From: " . $email . "\r\n"; $headers .= "Reply-To: " . $email . "\r\n"; $headers .= "Content-Type: text/plain; charset=UTF-8\r\n"; // 替换为你的收件邮箱 $to = "your-email@example.com"; // 发送邮件并给出反馈 if (mail($to, $subject, $message, $headers)) { echo "表单提交成功!感谢你的反馈。"; } else { echo "提交失败,请稍后重试。"; } ?>
注意事项
- 确保你的服务器支持PHP,且配置了可用的邮件发送功能(部分虚拟主机需额外配置SMTP)
- 将脚本中的
your-email@example.com替换为你实际接收邮件的邮箱地址 - 你可以按照相同逻辑扩展处理其他表单字段,只需在
$message中追加对应内容即可 - 为提升安全性,建议补充邮箱格式验证、输入长度限制等逻辑
内容的提问来源于stack exchange,提问作者Jeffy
相关产品推荐
相关产品推荐

