问题描述
Laravel 不断抛出一个错误,即 App\Mail\VerifyMail 没有退出,但该文件存在于 App\Mail 文件夹中。我不知道为什么它在清除时一直告诉我它不存在;
<?PHP
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use App\User;
use App\Mail\VerifyMail;
use App\VerifyUser;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Carbon;
class UserRegisterController extends Controller
{
public function __construct()
{
$this->middleware('guest:user');
}
public function showRegisterForm() {
return view('user.registerForm');
}
public function register(Request $request) {
$userValidated = $this->validate($request,[
'name' => 'required|string','email' => 'required|string|unique:users','password' => 'required|string|min:6|confirmed'
]);
$register = [
'name' => $userValidated['name'],'email' => $userValidated['email'],'password' => Hash::make($userValidated['password']),];
$user =User::create($register);
VerifyUser::create([
'token' => str::random(60),'user_id' => $user->id,]);
Mail::to($user->email)->send(new VerifyMail($user));
return redirect('user/login')->with('email','An email was sent to you for verification');
}
public function verifyEmail($token,$date) {
$dates = date(strtotime($date));
if(time() - $dates > 60 * 60) {
return redirect('/user/login')->with('Failed','Oops! Something went wrong');
}
$verifiedUser = VerifyUser::where('token',$token)->firstOrFail();
if(isset($verifiedUser)) {
$user = $verifiedUser->user;
if($user->email_verified_at == '') {
$user->email_verified_at = carbon::Now();
$user->save();
return redirect('/user/login')->with('success','Your email was successfully verified');
} else {
return redirect('/user/login')->with('Failed','Oops! Something went wrong');
}
}
}
}
正如你在这段代码中看到的,我已经包含了 App\Mail\VerifyMail 之类的类。拼写也显然与他们没有任何错误。 Mail::to($user->email)->send(new VerifyMail($user)); 这就是我在代码中使用该类的方式。
这是我的验证邮件类
<?PHP
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class VerifyMail extends Mailable
{
use Queueable,SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public $user;
public function __construct($user)
{
$this->user = $user;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('emails.verifyEmail')->with('user',$this->user);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)