Laravel项目(cPanel部署)SMTP邮件发送失败,寻求解决方法
解决cPanel部署Laravel密码重置邮件报错的方案
针对你在cPanel上部署Laravel时遇到的密码重置邮件报错问题,结合cPanel环境特性,给出以下针对性排查和解决步骤:
确认SMTP端口与加密方式匹配
cPanel主机常限制25端口,建议改用465(SSL)或587(TLS)端口,在.env中对应配置:MAIL_PORT=465 MAIL_ENCRYPTION=ssl # 或 MAIL_PORT=587 MAIL_ENCRYPTION=tls使用cPanel官方邮件配置参数
优先用cPanel自带的邮件账户,登录cPanel的「电子邮件账户」模块,查看对应邮箱的客户端配置信息,直接照搬其中的SMTP主机、端口、加密方式到.env,避免自行猜测参数。强制刷新Laravel配置缓存
修改.env后必须清除配置缓存,在cPanel终端执行:php artisan config:clear php artisan cache:clear新手常忽略缓存问题,导致新配置无法生效。
验证SMTP连接可用性
在cPanel终端用命令测试SMTP连通性:# 测试SSL端口 openssl s_client -connect smtp.yourdomain.com:465 # 测试TLS端口 openssl s_client -connect smtp.yourdomain.com:587 -starttls smtp如果连接失败,联系主机商确认端口是否放行,或SSL证书是否有效。
通过Laravel日志定位具体错误
查看storage/logs/laravel.log中的详细报错信息,比如是否是认证失败、证书不匹配还是超时问题。若临时需要绕过证书验证(仅测试用,生产环境不推荐),可在.env添加:MAIL_VERIFY_PEER=false正确启用PHP扩展
不要手动修改php.ini,登录cPanel的「选择PHP版本」模块,在扩展列表中勾选openssl,保存后生效,同时确保项目使用的PHP版本符合Laravel要求(如Laravel 10需PHP 8.1+)。
内容的提问来源于stack exchange,提问作者Youth Dream
相关产品推荐
相关产品推荐

