webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg

Как связать swiftmailer (Yii2) и Yandex почта для домена?

В конфиге:
'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',
            'viewPath' => '@common/mail',
            'useFileTransport' => false,
            'transport' => [
                'class' => 'Swift_SmtpTransport',
                'host' => 'smtp.yandex.ru',
                'username' => 'info@internetsite.com.ua',
                'password' => 'тут пароль',
                'port' => '465',
                'encryption' => 'SSL',
            ],
        ],

В моделе:
public function sendEmail()
    {

        $mailbody = '<h3>Отзыв с сайта</h3>
                            <p><b>Имя:</b> '.$this->name.'</p>
                            <p><b>e-mail:</b> '.$this->email.'</p>
                            <p><b>Тема:</b> '.$this->subject.'</p>
                            <p><b>Текст:</b></p>
                            <p>'.$this->body.'</p>
                            <a href="mailTo:'.$this->email.'">Ответить</a>
                            ';
        return Yii::$app->mailer->compose()
        ->setFrom('info@internetsite.com.ua')
        ->setTo('wokster@list.ru')
        ->setSubject($this->subject)
        ->setTextBody($mailbody)
        ->send();
    }


При этом получаю:
Connection could not be established with host smtp.yandex.ru [Unable to find the socket transport "SSL" - did you forget to enable it when you configured PHP? #-1217465860]
Связался с хостерами, говорят что надо рыть в скрипте ибо у них все работает (SSL).

Уже мозг лопается с этим якобы очень удобным swiftmailer. Помогите советом или посоветуйте аналог, что бы отправить себе на почту письмо из формы обратной связи.
  • Вопрос задан
  • 14991 просмотр
Решения вопроса 1
'host' => 'ssl://smtp.yandex.com',
а остальное всё верно, только 'encryption' => 'SSL',
нужно убрать
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@Ramir1
Провозился. Добавлю, чтобы не забыть.
Пытался отправить через ящик, зарегистрированный на pdd.yandex.ru и получал ошибку
503 5.5.4 Error: send AUTH command first.
Оказалось, надо было войти в ящик через веб-интерфейс и заполнить поля.
Ответ написан
Комментировать
@craigy_waigy
У меня так работает:
'mailer' => [
            'useFileTransport' => false,
            'transport' => [
                'class' => 'Swift_SmtpTransport',
                'host' => 'smtp.yandex.ru',
                'username' => 'мыло для домена',
                'password' => 'пароль',
                'port' => '25',
                'encryption' => 'tls',
            ],
        ],
Ответ написан
Комментировать
iiifx
@iiifx
PHP, OOP, SOLID, Yii2, Composer, PHPStorm
nazarpc
@nazarpc
Open Source enthusiast
Ваш ответ на вопрос

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

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