#laravel #mailtrap
#laravel #mailtrap
Вопрос:
Я успешно реализовал подтверждение по электронной почте моего веб-приложения на localhost с помощью mailtrap. Однако после развертывания моего веб-приложения на сервере ubuntu digitalocean каждый раз, когда я нажимаю на ссылку подтверждения регистрации из mailtrap после регистрации в моем веб-приложении, происходит сбой. Например, я полагаю, что мой домен aaa.com . Когда я получу к нему доступ и зарегистрируюсь, я получу электронное письмо в mailtrap, например http://aaa.com/email/verify/10?expires=1610106497amp;signature=51a29fa6ee0b8949d9d98d4d52800948b43761a3088e8e6be8b4b1316e3b3157 Я нажимаю на эту ссылку, чтобы получить подтверждение, однако это не удается. Хотя проверка электронной почты с помощью mailtrap проходит успешно, когда я запускаю свое веб-приложение на localhost.
В контроллере проверки функция проверки:
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) не может проверить URL $request.
Пожалуйста, помогите мне. Я новичок в laravel и digitalocean.
Комментарии:
1. что вы подразумеваете под сбоем? где ошибка? вы проверили журналы? вы проверяли брандмауэр?
2. можем ли мы просмотреть ваш файл журнала? что написано в вашем журнале
3. @zeroone Я удалил содержимое из laravel.log. Затем я регистрируюсь в своем веб-приложении, чтобы получить ссылку для подтверждения электронной почты из mailtrap. Я нажимаю на эту ссылку, но она показывает недействительную ссылку. Я возвращаюсь к laravel.log, но он ничего не показывает. Если я запускаю свое приложение на localhost, подтверждение по электронной почте активируется хорошо. Я не знаю почему. Я впервые развертываю свое веб-приложение на digitalocean.
4. @DeepeshThapa Я регистрируюсь в своем веб-приложении, чтобы получить ссылку для подтверждения электронной почты из mailtrap. Я нажимаю на эту ссылку, но она показывает недействительную ссылку. Я возвращаюсь к laravel.log, но он ничего не показывает. Если я запускаю свое приложение на localhost, подтверждение по электронной почте активируется хорошо. Я не знаю почему. Это первый раз, когда я развертываю свое веб-приложение на digitalocean
5. Например, мой домен aaa.com . Когда я получу к нему доступ и зарегистрируюсь, я получу электронное письмо в mailtrap, например aaa.com/email/verify /… Я нажимаю на эту ссылку, чтобы получить подтверждение, однако это не удается.