Как отправить электронное письмо/код активации с помощью cartalyst sentinel с помощью laravel 5.4

Я хочу отправить электронное письмо / код активации на их электронные письма во время процедуры регистрации, но я не могу найти подходящий ответ, который поможет мне завершить мою работу.

Это мой метод контроллера, в котором я сохраняю пользовательские данные в своей базе данных с помощью дозорного.

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.");
    });
}

person shahzad1122    schedule 09.07.2018    source источник


Ответы (1)


Используйте этот код
используйте пространство имен MAIL в своем контроллере, кроме того, не забудьте создать блейд email.verify в пути вашего приложения resources\views\email и создать детали smtp в файле .env.

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=имя пользователя
MAIL_PASSWORD=пароль
[email protected]< br/> MAIL_FROM_NAME=ВАШЕ ИМЯ
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);
            });
    }

это ваш блейд email.verify:

<!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>
person Masad Ashraf    schedule 09.07.2018
comment
это выглядит идеально. вы можете пойти, используя это. - person Masad Ashraf; 09.07.2018