Yii2 отправка почты через SMTP

В конфиге main-local.php

'mailsmtp' => [
         'class' => 'yii\swiftmailer\Mailer',
         'viewPath' => '@common/mail',
         'useFileTransport' => false,      
         'transport' => [
             'class' => 'Swift_SmtpTransport',
             'host' => 'ssl://smtp.yandex.ru',  // e.g. smtp.mandrillapp.com or smtp.gmail.com
             'username' => 'no-reply@yandex.ru',
             'password' => '*******',
             'port' => '465', // Port 25 is a very common port too
             //'encryption' => 'ssl', // It is often used, check your provider or mail server specs
            'plugins' => [
                [
                    'class' => 'Swift_Plugins_LoggerPlugin',
                    'constructArgs' => [new Swift_Plugins_Loggers_ArrayLogger],
                ],
            ],
         ],
     ], 

 

В моделе или контроллере

$mailer =Yii::$app->get('mailsmtp');

$message =$mailer->compose()

->setTo($to)
->setFrom($from)
->setSubject($subject)
->setHtmlBody($text); 

$message->getSwiftMessage()->getHeaders()->addTextHeader('name', 'value');

try {

if(!$mailer->send($message, $failures)) $errorCode=$failures; //отправляем

}

catch (\Swift_TransportException $e) { //проверяем на ошибки
$pattern = '|got code "(.+?)", with|is'; 
preg_match($pattern, $e->getMessage(), $out); 
$errorCode=$out[1];
}