laravel 电子邮件验证 mailtrap 在本地主机上工作,但在 ubuntu 服务器 digitalocean 上不起作用

问题描述

我已使用 mailtrap 在本地主机上成功实现了我的 Web 应用程序的电子邮件确认。但是,在 ubuntu 服务器 digitalocean 上部署我的 Web 应用程序后,每次在我的 Web 应用程序上注册后单击 mailtrap 中的注册确认链接时,它都会失败。例如,我假设我的域是 aaa.com。当我访问它并注册时,我会在 mailtrap 中收到一封电子邮件,例如 http://aaa.com/email/verify/10?expires=1610106497&signature=51a29fa6ee0b8949d9d98d4d52800948b43761a3088e8e6be8b4b1316e3b3157 我点击该链接进行验证,但是,它失败了。虽然当我在本地主机上运行我的网络应用程序时,来自 mailtrap 的电子邮件验证测试是成功的。

在验证控制器中,验证函数为:

public function verify(Request $request,User $user)
{
    // ko co link valid
    if (! URL::hasValidSignature($request)) {
        \Log::info('url',URL::getFacadeAccessor());
        \Log::info('has validsignature',URL::hasValidSignature($request));
        return response()->json([
            //'status' => 'The verification link is invalid.','status' => trans('verification.invalid'),],400);
    }

    if ($user->hasverifiedEmail()) {
        return response()->json([
            //'status' => 'The email is already verified.','status' => trans('verification.already_verified'),400);
    }

    $user->markEmailAsverified();

    event(new Verified($user));

    return response()->json([
        //'status' => 'Your email has been verified!','status' => trans('verification.verified')
    ]);
}

我发现 URL::hasValidSignature($request) 无法验证 $request URL。 请帮我。我是 laravel 和 digitalocean 的新手。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)