在Yii2中安装swiftmailer后未找到Swift_Message错误

时间:2015-04-08 16:32:44

标签: php yii yii2 swiftmailer

我正在使用Yii2在项目中设置邮件程序。 Swiftmailer似乎是这个框架的最佳解决方案,所以我只是按照文档进行操作。

在composer.json

 "yiisoft/yii2-swiftmailer": "*"

其次是:

 composer install

在我的配置中,我有:(是的,我现在只想保存文件。)

'components' => [
    'mailer' => [
        'class' => 'yii\swiftmailer\Mailer',
        'useFileTransport' => true,
    ],

然后我将它放入控制器:

 \Yii::$app->mailer->compose()
   ->setFrom('from@domain.com')
   ->setTo('to@domain.com')
   ->setSubject('Message subject')
   ->setTextBody('Plain text content')
   ->setHtmlBody('<b>HTML content</b>')
   ->send();

我的错误是:

  

PHP致命错误 - 未找到“Swift_Message”类

我相信,经过一些研究,这与自动加载器/延迟加载有关,但我能找到的信息不稳定。其中大部分都表示,如果使用composer安装解决了这个问题,那么我的所有故障排除都让我一直在追逐我的尾巴。

Here's my stacktrace.感谢您的帮助。

其他:

  • composer-asset-plugin - 已安装
  • vendor / composer / autoload_files.php包含以下行:
  •  $vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php',  
    

    1 个答案:

    答案 0 :(得分:0)

    我很想关闭这种尴尬,但如果有人和我一样做出同样的假设,我想帮忙。

      

    您的输入脚本是否包含'vendor / autoload.php'要求?可以   指向正确的文件?尝试手动放置模具('swiftmailer')   'vendor / swiftmailer / swiftmailer / lib / swift_required.php' - 它应该   出现在任何应用程序运行中。

    通过(klimov-paul / yiisoft)

    die('swiftmailer');没有效果。

    vendor/autoload.php不是必需的。

    我曾假设供应商文件夹中已安装的其他扩展程序正在使用中。我发现之前的开发人员没有使用任何东西,require(__DIR__ . "/../vendor/autoload.php");不在执行路径中。