diff --git a/lib/Service/RecoveryEmailService.php b/lib/Service/RecoveryEmailService.php index 4266d56baf78908689d2f902fcf3e69b2e3c0c3f..101d174d1268d3bb4ed854ffe64287360e1c5d11 100644 --- a/lib/Service/RecoveryEmailService.php +++ b/lib/Service/RecoveryEmailService.php @@ -268,12 +268,12 @@ class RecoveryEmailService { $responseBody = $response->getBody(); // Get the response body as a string $data = json_decode($responseBody, true); - if ($data['disposable'] ?? false) { + if (isset($data['disposable']) && $data['disposable'] === true) { $this->logger->info("User ID $username's requested recovery email address is disposable."); throw new BlacklistedEmailException($l->t('The email address is disposable. Please provide another recovery address.')); } - if (!$data['deliverable_email'] ?? true) { + if (isset($data['deliverable_email']) && $data['deliverable_email'] === false) { $this->logger->info("User ID $username's requested recovery email address is not deliverable."); throw new BlacklistedEmailException($l->t('The email address is not deliverable. Please provide another recovery address.')); } @@ -310,13 +310,13 @@ class RecoveryEmailService { } // Handle response data - if ($data['disposable'] ?? false) { + if (isset($data['disposable']) && $data['disposable'] === true) { $this->logger->info("User ID $username's requested recovery email address is from a disposable domain."); $this->domainService->addCustomDisposableDomain($domain, $l, $data['related_domains'] ?? []); throw new BlacklistedEmailException($l->t('The email address is disposable. Please provide another recovery address.')); } - - if (!$data['mx'] ?? true) { + + if (isset($data['mx']) && $data['mx'] === false) { $this->logger->info("User ID $username's requested recovery email address domain is not valid."); $this->domainService->addCustomDisposableDomain($domain, $l, $data['related_domains'] ?? []); throw new BlacklistedEmailException($l->t('The email address is not deliverable. Please provide another recovery address.'));