fix(mail) : le test de connexion fonctionne même si la config est désactivée + remonte l'erreur IMAP réelle
Le guard enabled dans getClient() bloquait le test de connexion alors que le workflow naturel est configurer → tester → activer. getClient(requireEnabled) permet au nouveau testConnection() de se connecter sans exiger enabled=true. Le controller (ROLE_ADMIN) renvoie désormais le détail de l'erreur pour faciliter le diagnostic. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -23,21 +23,23 @@ class MailTestConnectionController extends AbstractController
|
||||
public function __invoke(): JsonResponse
|
||||
{
|
||||
try {
|
||||
$folders = $this->mailProvider->listFolders();
|
||||
$foldersCount = $this->mailProvider->testConnection();
|
||||
|
||||
return $this->json([
|
||||
'ok' => true,
|
||||
'foldersCount' => count($folders),
|
||||
'foldersCount' => $foldersCount,
|
||||
]);
|
||||
} catch (MailProviderException) {
|
||||
} catch (MailProviderException $e) {
|
||||
return $this->json([
|
||||
'ok' => false,
|
||||
'error' => 'Connexion IMAP impossible. Vérifiez la configuration.',
|
||||
'ok' => false,
|
||||
'error' => 'Connexion IMAP impossible. Vérifiez la configuration.',
|
||||
'detail' => $e->getMessage(),
|
||||
]);
|
||||
} catch (Throwable) {
|
||||
} catch (Throwable $e) {
|
||||
return $this->json([
|
||||
'ok' => false,
|
||||
'error' => 'Erreur inattendue lors du test de connexion.',
|
||||
'ok' => false,
|
||||
'error' => 'Erreur inattendue lors du test de connexion.',
|
||||
'detail' => $e->getMessage(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user