Fix invitation email: load relationships and handle mail failures gracefully

The CompanyInvitationMail accesses company, role, and invitedBy
relationships which weren't loaded before sending. Also wrap mail
send in try-catch so the invitation is still created even if the
mailer is misconfigured (logs a warning instead of crashing).
This commit is contained in:
Darko Gjorgjijoski
2026-04-03 23:30:13 +02:00
parent c1994887ef
commit 8d3029c877

View File

@@ -52,7 +52,13 @@ class InvitationService
'expires_at' => Carbon::now()->addDays(7),
]);
Mail::to($email)->send(new CompanyInvitationMail($invitation));
$invitation->load(['company', 'role', 'invitedBy']);
try {
Mail::to($email)->send(new CompanyInvitationMail($invitation));
} catch (\Exception $e) {
\Log::warning('Failed to send invitation email to '.$email.': '.$e->getMessage());
}
return $invitation;
}