我想在注册过程中向他们的电子邮件发送激活电子邮件/代码,但我找不到合适的答案来帮助我完成我的工作。
这是我的控制器方法,我使用 sentinel 将用户数据保存到我的数据库中。
public function postRegister(Request $request)
{
$user = Sentinel::registerAndActivate($request->all());
return redirect('/');
}
在这里,我想在用户注册时将激活电子邮件/代码发送到他们的电子邮件。
您的任何帮助将不胜感激!
public function postRegister(Request $request)
{
$user = Sentinel::register($request->all());
$activation = Activation::create($user);
$this->sendEmail($user, $activation->code);
return redirect('/');
}
private function sendEmail($user,$code)
{
Mail::send('emails.activation',[
'user' => $user,
'code' => $code
], function($message) use ($user){
$message->to($user->email);
$message->subject("Hello $user->first_name,
activate your account.");
});
}
使用此代码
在控制器中使用 MAIL 命名空间 此外,不要忘记在应用程序路径资源\视图\电子邮件中创建 email.verify 边栏选项卡,并在 .env 文件中创建 SMTP 详细信息。
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=用户名
MAIL_PASSWORD=密码
MAIL_FROM_ADDRESS=your_email@address.com
MAIL_FROM_NAME=YOURNAME
MAIL_ENCRYPTION=null
public function postRegister(Request $request)
{
$verification_code = 111111; // create random number & save it to db ;
$user = Sentinel::registerAndActivate($request->all());
return redirect('/');
$subject = "Please verify your email address.";
Mail::send('email.verify', ['name' => $user->name, 'verification_code' => $verification_code],
function ($mail) use ($user, $subject) {
$mail->from(getenv('FROM_EMAIL_ADDRESS'), "YOUR APPLICATION NAME");
$mail->to($user->email, $user->name);
$mail->subject($subject);
});
}
这是你的电子邮件。验证边栏选项卡:
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
</head>
<body>
<div>
Hi {{ $name }},
<br>
Thank you for creating an account with us.
<br>
Your verification code : <b>{{$verification_code}}</b>
<br/>
</div>
</body>
</html>