推荐用 MailHog 做本地调试——它拦截邮件供网页实时查看;Laragon 内置支持,启动后访问 https://www.php.cn/link/aa3e602dc876a6d7dccff51c07840900;配置 .env 使用 localhost:1025;测试路由发送后可在 MailHog 查看。

在 Laragon 中用 Laravel 发邮件,推荐用 MailHog 做本地调试——它不发真实邮件,而是把所有发信拦截下来,供你在网页界面实时查看,安全又高效。
一、安装并启动 MailHog
MailHog 是一个轻量级的 SMTP 捕获工具,Laragon 已内置支持:
- 打开 Laragon 主界面 → 点击右上角 “Tools” → “MailHog”,自动下载并启动
- 首次运行会弹出 Windows 防火墙提示,允许即可
- 启动成功后,浏览器访问 https://www.php.cn/link/aa3e602dc876a6d7dccff51c07840900 就能看到 MailHog 的收件箱界面
二、配置 Laravel 使用 MailHog
修改 .env 文件,让 Laravel 把邮件发给本地 MailHog(无需装 PHPMailer 或配置 Gmail):
MAL_DRIVER=smtp
MAIL_HOST=localhost
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=hello@example.com
MAIL_FROM_NAME="${APP_NAME}"
注意:Port 是 1025(不是 25 或 587),这是 MailHog 默认监听的 SMTP 端口。
改完后清空配置缓存(命令行进入项目根目录执行):
php artisan config:clear
三、发送测试邮件验证流程
写个最简测试,比如在 routes/web.php 里临时加一条:
Route::get('/test-mail', function () {
\Mail::raw('Hello from Laragon + MailHog!', function ($message) {
$message->to('test@example.com')->subject('MailHog Test');
});
return 'Email sent!';
});
访问 http://your-app.test/test-mail,然后刷新 MailHog 页面(https://www.php.cn/link/aa3e602dc876a6d7dccff51c07840900),就能看到刚发的邮件出现在列表中,点开可查看原始内容、HTML 渲染、头信息等。
四、常见问题速查
- 页面空白 / 无法连接到 localhost:8025:检查 MailHog 是否在 Laragon “Services” 列表中显示为 Running;若显示 Stopped,右键重启
-
发信无反应或报错 “Connection refused”:确认
MAIL_PORT=1025,且没被其他程序(如 hMailServer)占用 -
邮件里收件人显示乱码或不生效:确保
MAIL_FROM_ADDRESS是合法邮箱格式(如 test@local.dev),部分 Laravel 版本对非法地址会静默失败 -
想看队列邮件? Laravel 邮件走队列时,MailHog 同样能捕获,只需确保队列已启动(
php artisan queue:work)











