Я пытался настроить swiftmailer в yii2 advanced. Я прочитал учебник и использую здесь код, но у меня все еще есть ошибка.
В моем случае, гость должен предоставить свое имя и адрес электронной почты перед загрузкой Ebook. Затем они получат письмо из моего офиса, в котором будет ссылка на скачивание электронной книги.
Моя конфигурация в common/config/main-local.php
'components' => [
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@common/mail',
'useFileTransport' => false,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.gmail.com',
'username' => 'myaccount@gmail.com',
'password' => 'password',
'port' => '465',
'encryption' => 'ssl',
],
],
],
По моему controller/GuestController.php
public function actionCreate()
{
$model = new guest();
if($model->load(Yii::$app->request->post())){
return Yii::$app->mailer->compose()
->setFrom('myaccount@gmail.com')
->setTo($model->email)
->setSubject('halo')
->setTextBody('body')
->send();
$model->save();
return $this->redirect(['buku/index']);
}
else{
return $this->renderAjax('create',[
'model' => $model,
]);
}
}
Форма Гость
<div class="guest-form">
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'nama')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'email')->textInput(['maxlength' => true]) ?>
<?php
echo Alert::widget([
'options' => [
'class' => 'alert-warning',
],
'body' => '[Alert] Check your email for Download',
]);
?>
<?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
<?php ActiveForm::end(); ?>
И моя ошибка,
Swift_TransportException Не удалось установить соединение с хостом
smtp.gmail.com [# 0]
Как я могу это исправить? Спасибо, Решено