Laravel应用Microsoft Graph邮件传输本地正常线上报错求助
Laravel线上环境Microsoft Graph邮件驱动报错排查方案
错误Unsupported mail transport [microsoft-graph]的核心原因是Laravel无法识别自定义的邮件传输驱动,本地正常线上异常,大概率是环境依赖、缓存或配置加载问题,按以下步骤逐一排查:
1. 确认生产环境依赖包已正确安装
线上服务器执行命令完成依赖安装:
composer install --no-dev --optimize-autoloader
检查vendor/innoge目录是否存在laravel-msgraph-mail文件夹,确保包未遗漏安装。
2. 手动注册服务提供者(若自动发现失效)
Laravel 9虽支持包自动发现,但部分生产环境可能存在自动注册失效的情况,在config/app.php的providers数组中添加:
Innoge\LaravelMsgraphMail\MsgraphMailServiceProvider::class,
3. 清除并重建配置缓存
GoDaddy环境常存在配置缓存未更新的问题,执行以下命令刷新缓存:
php artisan config:clear php artisan config:cache php artisan cache:clear
注意:修改配置文件或.env后,必须执行config:cache才能让新配置生效,执行前需先清除旧缓存。
4. 验证.env文件配置准确性
- 确认
MAIL_MAILER值为microsoft-graph,无多余引号或空格(GoDaddy的.env文件易因格式问题导致变量读取失败) - 核对
MICROSOFT_GRAPH_CLIENT_ID、MICROSOFT_GRAPH_TENANT_ID、MICROSOFT_GRAPH_CLIENT_SECRET与本地配置完全一致,无拼写错误
5. 检查包与Laravel版本兼容性
确认innoge/laravel-msgraph-mail:^1.0支持Laravel 9.x(当前使用版本9.52.10),若版本不兼容,升级包到适配Laravel 9的版本。
6. 测试服务器网络连通性
GoDaddy服务器可能限制对外API请求,通过SSH执行命令测试Microsoft Graph端点连通性:
curl -I https://graph.microsoft.com/v1.0/me
若返回连接失败或异常状态码,联系GoDaddy客服开放相关网络权限。
内容的提问来源于stack exchange,提问作者Emdadul Haque
相关产品推荐
相关产品推荐

