mailMessage( subject: 'Pengesahan E-mel - MyKOPKB', view: 'auth::emails.verify-email', data: [ 'name' => $notifiable->name, 'verificationUrl' => $this->verificationUrl($notifiable), 'expireMinutes' => $expireMinutes, ], ); } protected function verificationUrl(User $notifiable): string { $expireMinutes = (int) config('auth.verification.expire_minutes', 60); $root = rtrim((string) config('app.url'), '/'); // Prefer APP_URL over the current request host so queued/local proxy // contexts do not embed http://localhost in production emails. URL::forceRootUrl($root); if ($scheme = parse_url($root, PHP_URL_SCHEME)) { URL::forceScheme($scheme); } return URL::temporarySignedRoute( 'verification.verify', Carbon::now()->addMinutes($expireMinutes), [ 'id' => $notifiable->getKey(), 'hash' => sha1($notifiable->getEmailForVerification()), ] ); } }