我正在使用Yii2在一个项目中设置一个mailer。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 FATAL-找不到类"Swift_Message"
我相信,经过一些研究,这与自动加载器/延迟加载有关,但我能找到的信息参差不齐。它的大部分内容都表明,如果使用composer安装可以解决问题,那么我所有的故障排除都让我不知所措。
这是我的堆叠比赛。谢谢你的帮助。
附加:
$vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php',
我很想结束这种尴尬,但如果有人做出和我一样的假设,我愿意帮忙。
输入脚本是否包含"vendor/autoload.php"require?是吗指向正确的文件?尝试手动将模具("wiftmail")置于"vendor/swiftmailer/swiftmailer/lib/swift_required.php"-它应该出现在任何应用程序运行时。
通过(klimov paul/yiisoft)
CCD_ 1无效。
不需要vendor/autoload.php
。
我假设已经安装在供应商文件夹中的其他扩展正在使用中。我发现以前的开发人员没有在那里使用任何东西,require(__DIR__ . "/../vendor/autoload.php");
也不在执行路径中。