使用XAMPP+PHPMailer可零成本实现留言自动邮件通知:下载官网XAMPP仅装Apache/MySQL,路径全英文;用Composer或手动引入PHPMailer;在process.php中过滤数据、配置QQ邮箱SMTP(含App密码)、设置发件人与内容后发送。

要在PHP网站上实现用户留言后自动发邮件通知管理员,且整个环境配置不花一分钱、长期可用,必须避开云服务订阅陷阱和试用期限制,直接使用本地可部署的开源方案。
安装PHP永久免费运行环境
第一步:下载XAMPP集成包(含Apache+PHP+MySQL),访问https://www.apachefriends.org/,选择Windows/macOS/Linux对应版本。不要选带“trial”或“pro”的第三方打包版,只认Apache Friends官网源。
第二步:安装时取消勾选FileZilla、Mercury Mail等无关组件,仅保留Apache和MySQL——这些多开的服务会抢占端口,导致PHP脚本无法监听80端口。
第三步:安装路径必须为【全英文、无空格、不含中文】,例如C:\xampp,否则PHP加载扩展时会因路径解析失败而报错“failed to open stream”。
立即学习“PHP免费学习笔记(深入)”;
第四步:启动XAMPP Control Panel,点击Apache和MySQL旁的Start按钮,状态变为Running后,在浏览器中打开http://localhost,看到XAMPP欢迎页即表示PHP已就绪。
引入PHPMailer实现稳定邮件发送
方法一:用Composer安装(推荐)
打开命令行,进入你的项目根目录,执行:
composer require phpmailer/phpmailer
这会在当前目录生成vendor文件夹,自动处理所有依赖关系。如果提示“command not found”,说明Composer未加入系统PATH,请先完成Composer全局安装。
方法二:手动引入(无Composer时)
前往GitHub下载PHPMailer最新release ZIP包,解压后将src文件夹整体复制到项目目录下,例如放在./phpmailer/src/;然后在PHP脚本开头写入:
require './phpmailer/src/Exception.php';
require './phpmailer/src/PHPMailer.php';
require './phpmailer/src/SMTP.php';
【注意:手动引入时必须按此顺序加载,缺一不可,否则类找不到会Fatal error】
配置留言板提交后自动发邮件
第一步:新建留言表单页面guestbook.html,包含name、email、message三个字段,form的action指向process.php,method为POST。
第二步:创建process.php接收数据,先做基础过滤:
$name = filter_var($_POST['name'], FILTER_SANITIZE_STRING);
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
$message = filter_var($_POST['message'], FILTER_SANITIZE_STRING);
第三步:初始化PHPMailer对象,设置SMTP服务器参数——以QQ邮箱为例:
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'smtp.qq.com';
$mail->SMTPAuth = true;
$mail->Username = 'your@qq.com';
$mail->Password = 'your_app_password';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
第四步:组装邮件内容并发送:
$mail->setFrom('your@qq.com', $name);
$mail->addAddress('admin@yourdomain.com');
$mail->isHTML(true);
$mail->Subject = '新留言提醒:' . mb_substr($message, 0, 30, 'UTF-8') . '...';
$mail->Body = "
姓名:$name
邮箱:$email
内容:
$message
if ($mail->send()) { echo "留言已提交,通知邮件已发出"; } else { echo "邮件发送失败:" . $mail->ErrorInfo; }



















