I have created contact form with fields name,email,phone,message which saves in database.
I want the contact form to send email using phpmailer through localhost in Yii2. I tried following up the http://www.yiiframework.com/extension/zyx-phpmailer/ link still not able to send email.
Steps taken
-
I have downloaded phpmailer through composer.
-
I have set-up web.php in config folder as
‘mail’ => [
'class' => 'zyx\phpmailer\Mailer',
'viewPath' => 'yii2Basic',
'useFileTransport' => false,
'config' => [
'mailer' => 'smtp',
'host' => 'smtp.gmail.com',
'port' => '587',
'smtpsecure' => 'tsl',
'smtpauth' => true,
'username' => 'mygmail',
'password' => '*******',
],
],
- Controller action
public function actionCreate()
{
$model = new Contact();
if ($model->load(Yii::$app->request->post()) )
{
Yii::$app->mail->compose()
->setFrom(['mygmail' => 'My Example Message'])
->setTo([$model->email => $model->name])
->setSubject('test subject')
->setTextBody($model->message)
->send();
$model->save();
//return $this->redirect(['view', 'id' => $model->id]);
return $this->redirect(['index']);
} else {
return $this->render('create', [
'model' => $model,
]);
}
}
still the code save to my db but does not send email to gmail.
Kindly help me where I am going wrong and what should I do.