2015-10-01 3 views
3

Я пытаюсь отправить почту, но получаю ошибку.Отправка почты - Yii 2.0

Неизвестный недвижимости - юй \ база \ UnknownPropertyException

Получение неизвестного свойства: юй \ Web \ Application :: почта

После изменения Yii::$app->mail->compose() к Yii::$app->mailer->compose() Я получил эту ошибку

Недопустимый параметр - yii \ base \ InvalidParamException

Недопустимый псевдоним пути: @ бэкэнд/почта

Я не получаю, где я делаю ошибку.

Я использую 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('[email protected]') 
       ->setTo('[email protected]') 
       ->setSubject('This is a test mail') 
       ->send(); 
    } 
} 

Ошибка Скриншот enter image description here

Я новичок в Yii. У меня нет большой идеи. Если это глупый вопрос, пожалуйста, простите меня.

Принимаю помощь от Mailing- Yii 2.0. Но, не получив большой идеи. Пожалуйста, помогите мне выслать по электронной почте

+0

@InsaneSkull. Я редактировал свой вопрос. Теперь доступно содержимое страницы register.php. –

+0

Из того, что я помню, '' 'backend''' в юй относится к другой конфигурации, чем веб-конфигурации – user3791372

ответ

2

Использовать mailer Компонент.

Yii::$app->mailer->compose() 

В вашей конфигурации вы пишете components, что будет avalible на Yii::$app применения.

Пример:

В конфигурации:

'components' => [ 
    'myComponent' => ['class' => '\common\MyClass'] 
] 

В контроллере:

Yii::$app->myComponent->foo(); 
+0

Got Ошибка Как недопустимый параметр - юй \ база \ InvalidParamException Недопустимый псевдоним пути: @ бэкэнд/почте –

+0

Вы должны написать правильный путь к просмотру почты в param ''viewPath' => '@ backend/mail',' –

+0

где редактировать Mr @Onedev. И config.php, и web.php имеют параметр. И какой путь дать –

0

При использовании основного шаблона. Path '@ backend/mail' предназначен только для расширенного шаблона. Правильный путь: @ app/mail (или любой другой путь, на котором вы храните свои шаблоны электронной почты).

Смежные вопросы