{"record":{"id":"a6e7261b8bc38789","repo":"coollabsio/coolify","slug":"no-email-settings-found","errorCode":null,"errorMessage":"No email settings found.","messagePattern":"No email settings found\\.","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"app/Notifications/Channels/TransactionalEmailChannel.php","lineNumber":44,"sourceCode":"            return;\n        }\n        $this->bootConfigs();\n        $mailMessage = $notification->toMail($notifiable);\n        Mail::send(\n            [],\n            [],\n            fn (Message $message) => $message\n                ->to($email)\n                ->subject($mailMessage->subject)\n                ->html((string) $mailMessage->render())\n        );\n    }\n\n    private function bootConfigs(): void\n    {\n        $type = set_transanctional_email_settings();\n        if (blank($type)) {\n            throw new Exception('No email settings found.');\n        }\n    }\n}\n","sourceCodeStart":26,"sourceCodeEnd":48,"githubUrl":"https://github.com/coollabsio/coolify/blob/70b9acc42467278373e00de77abb40684e25b395/app/Notifications/Channels/TransactionalEmailChannel.php#L26-L48","documentation":"TransactionalEmailChannel::bootConfigs() calls set_transanctional_email_settings(), which reads instance settings and returns null unless smtp_enabled or resend_enabled is on. A null means no transactional email backend was configured at instance level, so the channel refuses to send and throws — protecting callers from silently dropping mail through an unconfigured transport.","triggerScenarios":"Fresh Coolify install where SMTP/Resend was never set up; admin disabled both providers later; instance settings row missing/misconfigured (e.g. after restore); sending invitation or other transactional mail before completing email setup.","commonSituations":"Post-install setup order: creating teams/invitations before configuring email; disabling SMTP while migrating to Resend and leaving a gap; password-reset-adjacent transactional flows failing on new instances.","solutions":["As instance admin, configure SMTP or Resend under Settings (instance email settings) and enable the provider.","Verify the enabled flag actually saved (smtp_enabled/resend_enabled true on InstanceSettings) — connection test in the UI confirms.","Re-trigger the transactional send after enabling.","If email is deliberately unused, avoid flows that invoke transactional channels."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Feature-gate flows that need transactional email\n$settings = instanceSettings();\nif (! $settings->smtp_enabled && ! $settings->resend_enabled) {\n    // hide/disable email-dependent actions with a 'configure email first' notice\n}","typeGuard":null,"tryCatchPattern":"catch (Exception $e) { if ($e->getMessage() === 'No email settings found.') { degrade gracefully: persist the pending action and prompt the admin to configure SMTP/Resend; do not retry until enabled. } else { throw $e; } }","preventionTips":["Make email configuration part of the post-install checklist before inviting users.","Show an instance-level banner when email-dependent features are used without a transport.","Monitor the enabled flags: disabling both providers breaks transactional mail silently."],"tags":["email","smtp","resend","configuration","coolify"],"backgroundTag":"email-not-configured","analyzedSha":"70b9acc42467278373e00de77abb40684e25b395","analyzedAt":"2026-08-17T01:41:01.313Z","schemaVersion":2},"datasetVersion":"2026-08-17T04:17:16.089Z"}