2017-07-18 11 views
1
public function actionRequestPasswordReset() 
{ 
$model = new UserSignup(); 
if ($model->load(Yii::$app->request->post())) { 
$email = $model->email; 
$row = UserSignup::find()->where(['email' => $email])->exists();  
if($row != 1) 
{ 
Yii::$app->session->setFlash('error', 'User does not exist.'); 
} 
else{ 
$user = UserSignup::find()->where([ 
'email'=>$model->email 
])->one(); 
$randnkey = rand(); 
if(!empty($user)){ 
$template=" <a href=''> click here to verify your email address.</p> 
Regards, 
The NaijaLoving App Team"; 
$email = \Yii::$app->mailer->compose() 
->setTo($user->email) 
//->setFrom([\Yii::$app->params['supportEmail'] => \Yii::$app->name . ' 
robot']) 
->setFrom("[email protected]") 
//->setSubject('Signup Confirmation')->setTextBody("Click this link ") 
->setHtmlBody(
"<table width='100%' border='0' cellpadding='0' cellspacing='0'> 
<tbody> 
<tr> 
<td style='background:#065e52;'> 
<img src='/naija_loving/frontend/web/image/logo.png'/> 
</tr> 
<tr> 
<td> 
<div class=email-area style='margin-top:20px;'> 
<div class='container email-box' style='background:#E3E3E3; padding:40px;'> 
<div class='email-prgp'> 
<p>Hi ".$user->username.",</p> 
<p>Your Username is ".$user->username." and to reset Password click on below 
link 
</p>".\yii\helpers\Html::a('confirm',Yii::$app->urlManager- 
>createAbsoluteUrl(['remail/remail','id'=>$user->u_id,'key'=>$randnkey]))." 
</p> 
<br/></div> 
<div class='lowr-email-prgph' style='margin-top: 20px;box-sizing: border- 
box;'> 
<p>Regards,<br>The NaijaLoving App Team</p></div></div></td></tr><tr><td> 
<div class='email-footer-box' style='margin:0 auto; text-align:center; 
background:#065e52; padding:10px;color:#fff;'><p style='line-height:23px;'> 
<a href='#' style='color:aqua'>[email protected]</a><br>Follow 
us<br>fb twitter youtube</p></div></td></tr></tbody></table>")->send(); 
if($email){ 
Yii::$app->session->setFlash('success',$user->username); 
} 
} else { 
Yii::$app->session->setFlash('error', 'Sorry, we are unable to reset 
password for the provided email address.'); 
} 
} 
} 
return $this->render('requestPasswordResetToken', [ 
'model' => $model, 
]); 
} 

ログインし、それが働いているが、それは別のURLすなわちホスト/プロジェクト名/サイトに私をリダイレクトされ、URLを電子メールで送信したいです/ remail ...それはホスト/サイト/ログインにリダイレクトされています、それは何かコード内で間違っている、私は電子メールを送信するためのカスタムコードを書いていますは/私は remailにボタンのクリックにリダイレクトするこのコードはパスワードリセットリンクにある

+0

RemailControllerにaccessControlフィルタがあるかどうかを確認し、すべての操作でログに記録されたユーザーのみを許可します。 – Bizley

+0

これはパスワードを忘れるときのパスワードを忘れるプロセスです。パスワードを忘れた場合は、パスワードをリセットして電子メールを書いてください。これであなたのメールアカウントに電子メールが送信され、このリンクはリダイレクトされます。希望のパス – shikha

+0

コントローラーコードplsを掲示することができます – Burrito

答えて

0

私はメールを送信するためのメールテンプレートを使用することをお勧めします。この方法は良い習慣ではありません。 その後、target = "_blank"とアンカータグのhref属性でこの変数を使用するのhrefすなわち

$verifyLink = Yii::$app->urlManager->createAbsoluteUrl(['/remail/remail', 
'id'=>$user->u_id,'key'=>$randnkey]); 

をアンカータグのための変数を作成します。

関連する問題