Почему не отправляются письма с сайта yii2 на почту?

Здравствуйте, не отправляются письма с сайта yii2 на почту. Использую PhpMailer.
Вот что прописала в конфиге:
'mailer' => [
            'class'            => 'zyx\phpmailer\Mailer',
            'viewPath'         => '@app/mail',
            'useFileTransport' => false,
            'config'           => [
                'mailer'     => 'smtp',
                'host'       => 'smtp.yandex.ru',
                'port'       => '587',
                'smtpsecure' => 'tls',
                'smtpauth'   => true,
                'username'   => 'test@yandex.ru',
                'password'   => 'test',
            ],
        ],

в Контроллере:
public function actionIndex()
    {
        /* Создаем экземпляр класса */
        $model = new AppointmentForm();
        /* получаем данные из формы и запускаем функцию отправки contact, если все хорошо, выводим сообщение об удачной отправке сообщения на почту */
        if ($model->load(Yii::$app->request->post()) && $model->appointment(Yii::$app->params['adminEmail'])) {
            Yii::$app->session->setFlash('contactFormSubmitted');
            return $this->refresh();
            /* иначе выводим форму обратной связи */
        }  else {
            return $this->render('index', ['model'=> $model,]);
        }
    }

В модуле:
public function appointment($email)
    {
        $content = "<p>Email: " . $this->email . "</p>";
        $content .= "<p>Name: " . $this->name . "</p>";
        $content .= "<p>Phone: " . $this->phone . "</p>";
        $content .= "<p>Date: " . $this->date . "</p>";
        $content .= "<p>Body: " . $this->body . "</p>";
        if ($this->validate()) {
            Yii::$app->mailer->compose(["content" => $content])
                ->setTo('test@yandex.ru')
                ->setFrom([\Yii::$app->params['supportEmail'] => $this->name])
                ->setTextBody($this->body)
                ->send();

            return true;
        }
        return false;
    }

В params.php
return [
    'adminEmail' => 'test@yandex.ru',
    'supportEmail' => 'test@yandex.ru', //автоматическая отправка почты с данного сайта
];


В чём я ошиблась?
  • Вопрос задан
  • 230 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы