with(['domain', 'emailDomain']) ->find($this->mailboxId); if (! $mailbox || (string) $mailbox->status === 'deleting') { return; } if (! $provisioner->isConfigured()) { Log::info('ProvisionMailboxJob: Skipped — mail server DB not configured', [ 'mailbox_id' => $mailbox->id, ]); $mailbox->update(['status' => 'active']); return; } $password = $this->encryptedPassword !== null ? decrypt($this->encryptedPassword) : null; try { if ($mailbox->email_domain_id !== null) { $provisioner->provisionStandaloneMailbox($mailbox, $password); } else { $provisioner->provisionMailbox($mailbox, $password); } $mailbox->update(['status' => 'active']); } catch (\Throwable $exception) { $mailbox->update(['status' => 'failed']); Log::error('ProvisionMailboxJob: Failed', [ 'mailbox_id' => $mailbox->id, 'address' => $mailbox->address, 'error' => $exception->getMessage(), ]); throw $exception; } } }