dklight
@dklight
php кодер - level 2.5

Yii2 swiftmailer smtp.yandex.ru — почему не работает?

...
// конфиг
'mail' => [
            'class' => 'yii\swiftmailer\Mailer',
            'useFileTransport' => false,
            'transport' => [
                'class' => 'Swift_SmtpTransport',
                'host' => 'smtp.yandex.ru',
                'username' => 'username@yandex.ru',
                'password' => 'username_cool_passsword-_-',
                'port' => 465,
                'encryption' => 'ssl',
            ],
        ],
...
 
// вызов
$p[1] = Yii::$app->params['sw_mymail']; // to
$p[21] = Yii::$app->params['sw_mail'];   // from
$p[22] = Yii::$app->params['name'];
$p[3] = 'subject simple';
$p[4] = 'my mail: '. $p[1] . ' | from ' . $p[21] . ' => ' .$p[22] . ' | '.date("m.d.y H:i:s");
$res = Yii::$app->mailer->compose()
    ->setTo($p[1])
    ->setFrom([$p[21] => $p[22]])
    ->setSubject($p[3])
    ->setTextBody($p[4])
    ->send();
echo 'status: ' . $res;


после каждого запуска, сообщение благополучно укладывается в @app/runtime/debug/mail/randomname.eml, хотя указано 'useFileTransport' => false. В массив transport использовал различные варианты хоста типа [ssl:/]smtp.yandex.(ru,com), порта(465,587), с ключом encription и без него (ssl,tls). Причем никаких ошибок не возникает, в переменной $res ничего нету.

Как решить банальную задачу отправки письма?

php 7.1.2, apache 2.4.25, win7, yii2.0,13. Использую на обычной рабочей станции.
  • Вопрос задан
  • 766 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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