You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8升级至9后出现Method Illuminate\Mail\Mailer::getSwiftMailer不存在错误求解

解决Laravel 9升级后Illuminate\Mail\Mailer::getSwiftMailer不存在的问题

这个错误是因为Laravel 9彻底移除了对SwiftMailer的支持,改用Symfony Mailer作为底层邮件组件,原来的getSwiftMailer()方法已被删除,调用该方法自然会报错。

以下是具体解决办法:

  • 自定义代码中调用了该方法
    将getSwiftMailer()替换为Laravel 9提供的对应方法:

    // 原代码
    $swiftMailer = Mail::getSwiftMailer();
    
    // 替换为获取Symfony Transport实例
    $transport = Mail::getSymfonyTransport();
    // 或者获取Symfony Mailer实例
    $symfonyMailer = Mail::getSymfonyMailer();
    

    根据业务需求选择对应方法,Symfony Mailer的具体API可参考Symfony官方文档。

  • 第三方依赖包调用了该方法
    检查邮件相关第三方包是否支持Laravel 9:

    1. 尝试将包升级到最新版本,主流包基本已适配Laravel 9的Symfony Mailer;
    2. 若包已停止维护无法升级,需寻找功能类似的替代包,或自行fork包并修改其中的getSwiftMailer()调用为Laravel 9兼容方法。
  • 检查邮件配置
    确保config/mail.php配置文件已更新为Laravel 9格式,比如驱动配置、邮件服务器参数等,避免因配置残留引发隐性问题。

内容的提问来源于stack exchange,提问作者Wahidul Alam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 23:47:12