Почему при проверке электронной почты не работает ссылка? - PullRequest
0 голосов
/ 13 декабря 2018

Итак, проверка частично работает.Он отправляет электронное письмо, но у него нет рабочей ссылки для проверки.

вот пример:

пример

Вот мой код с контроллера:

protected function create(array $data)
{

    $user = User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
    ]);

    $verifyUser = VerifyUser::create([
        'user_id' => $user->id,
        'token' => str_random(40)
    ]);

    Mail::to($user->email)->send(new VerifyMail($user));

    return $user;
}
public function verifyUser($token)
{
    $verifyUser = VerifyUser::where('token', $token)->first();
    if(isset($verifyUser) ){
        $user = $verifyUser->user;
        if(!$user->verified) {
            $verifyUser->user->verified = 1;
            $verifyUser->user->save();
            $status = "Your e-mail is verified. You can now login.";
        }else{
            $status = "Your e-mail is already verified. You can now login.";
        }
    }else{
        return redirect('/login')->with('warning', "Sorry your email cannot be identified.");
    }

    return redirect('/login')->with('status', $status);
}
protected function registered(Request $request, $user)
{
    $this->guard()->logout();
    return redirect('/login')->with('status', 'We sent you an activation code. Check your email and click on the link to verify.');
}

Это измнение:

    <!DOCTYPE html>
<html>
<head>
    <title>Welcome Email</title>
</head>

<body>
<h2>Welcome to the site {{$user['name']}}</h2>
<br/>
Your registered email-id is {{$user['email']}} , Please click on the below link to verify your email account
<br/>
<a href="{{route('verify.user', $user->verifyUser->token)}}">Verify Email</a>
</body>

</html>

Класс пользователя:

    <?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */

    public function getRouteKeyName()
    {
        return 'name';
    }
    public function verifyUser()
    {
        return $this->hasOne('App\VerifyUser');
    }
}

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

...