我正在尝试发送邮件,但收到的错误就像。
未知属性 - yii \ base \ UnknownPropertyException
获取未知属性:yii \ web \ Application :: mail
将Yii::$app->mail->compose()
更改为Yii::$app->mailer->compose()
后
我收到了这个错误
无效参数 - yii \ base \ InvalidParamException
路径别名无效:@ backend / mail
我没有得到我在做错的地方。
我正在使用yii-app-basic。
配置/ console.php
...
'components' => [
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
],
],
...
配置/ web.php
...
'components' => [
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@backend/mail',
'useFileTransport' => true,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'localhost',
'username' => 'root',
'password' => '',
'port' => '8080',
'encryption' => 'tls',
],
],
],
...
SiteController.php
<?php
namespace app\controllers;
use Yii;
use yii\filters\AccessControl;
use yii\web\Controller;
use yii\filters\VerbFilter;
use yii\swiftmailer\Mailer;
class SiteController extends Controller
{
public function actionRegister()
{
Yii::$app->mail->compose()
->setFrom('enamRaj@gmail.com')
->setTo('Raj@infotech.com')
->setSubject('This is a test mail')
->send();
}
}
我是Yii的新手。我没有太多想法。如果这是一个愚蠢的问题,请原谅我。
从Mailing- Yii 2.0获取帮助。但是,没有太多的想法。 请帮我发送电子邮件
答案 0 :(得分:3)
使用mailer
组件。
Yii::$app->mailer->compose()
在您的配置中编写components
Yii::$app
申请时可以使用的'components' => [
'myComponent' => ['class' => '\common\MyClass']
]
。
在配置中:
Yii::$app->myComponent->foo();
在控制器中:
sample.html
答案 1 :(得分:0)
您正在使用基本模板。路径&#39; @ backend / mail&#39;仅适用于高级模板。正确的路径是@ app / mail(或您存储电子邮件模板的任何路径)。
答案 2 :(得分:-1)
这是一个古老的问题,但是如果您仍想使用yii来轻松发送邮件,请使用dektrium,这是一个废弃的项目,但是它提供了许多功能,例如用户管理电子邮件登录等