Laravel向Mailhog发送邮件报错:不支持空scheme,请求技术协助
问题解决:Laravel向Mailhog发邮件时出现scheme不支持错误
错误原因
该错误是因为SMTP邮件器尝试使用空的协议方案(scheme),而Laravel的SMTP驱动仅支持smtp和smtps两种方案。问题根源在于.env中MAIL_ENCRYPTION配置为null,Laravel无法正确解析这个值,导致生成了空的scheme。
解决步骤
1. 修正.env加密配置
Mailhog不需要加密,将MAIL_ENCRYPTION设置为空字符串(而非null):
MAIL_ENCRYPTION=
或者直接注释掉该行:
# MAIL_ENCRYPTION=null
2. 清除配置缓存
修改.env后,必须清除Laravel的配置缓存,确保新配置生效:
php artisan config:clear
3. 验证配置文件(可选)
检查config/mail.php中SMTP驱动的配置,确保encryption项正确读取环境变量:
'encryption' => env('MAIL_ENCRYPTION'),
4. 测试邮件发送
重新访问/email路由,查看Mailhog是否收到测试邮件。若仍有问题,重启本地开发服务器确保配置完全重载。
内容的提问来源于stack exchange,提问作者Eliaquim da Luz
相关产品推荐
相关产品推荐

