diff --git a/app/Livewire/SettingsEmail.php b/app/Livewire/SettingsEmail.php index 858f3b187..4426c7812 100644 --- a/app/Livewire/SettingsEmail.php +++ b/app/Livewire/SettingsEmail.php @@ -4,7 +4,7 @@ namespace App\Livewire; use App\Models\InstanceSettings; use App\Models\Team; -use App\Notifications\Test; +use App\Notifications\TransactionalEmails\Test; use Illuminate\Support\Facades\RateLimiter; use Livewire\Attributes\Locked; use Livewire\Attributes\Validate; diff --git a/app/Notifications/Channels/EmailChannel.php b/app/Notifications/Channels/EmailChannel.php index a452ef8dd..8a9a95107 100644 --- a/app/Notifications/Channels/EmailChannel.php +++ b/app/Notifications/Channels/EmailChannel.php @@ -12,8 +12,9 @@ class EmailChannel public function send(SendsEmail $notifiable, Notification $notification): void { $useInstanceEmailSettings = $notifiable->emailNotificationSettings->use_instance_email_settings; + $isTransactionalEmail = data_get($notification, 'isTransactionalEmail', false); $customEmails = data_get($notification, 'emails', null); - if ($useInstanceEmailSettings) { + if ($useInstanceEmailSettings || $isTransactionalEmail) { $settings = instanceSettings(); } else { $settings = $notifiable->emailNotificationSettings; @@ -49,8 +50,8 @@ class EmailChannel $settings->smtp_port, $encryption ); - $transport->setUsername($settings->smtp_username); - $transport->setPassword($settings->smtp_password); + $transport->setUsername($settings->smtp_username ?? ''); + $transport->setPassword($settings->smtp_password ?? ''); $mailer = new \Symfony\Component\Mailer\Mailer($transport); diff --git a/app/Notifications/TransactionalEmails/InvitationLink.php b/app/Notifications/TransactionalEmails/InvitationLink.php index 30ace99dc..fce3eb948 100644 --- a/app/Notifications/TransactionalEmails/InvitationLink.php +++ b/app/Notifications/TransactionalEmails/InvitationLink.php @@ -16,9 +16,10 @@ class InvitationLink extends CustomEmailNotification return [TransactionalEmailChannel::class]; } - public function __construct(public User $user) + public function __construct(public User $user, public bool $isTransactionalEmail) { $this->onQueue('high'); + $this->isTransactionalEmail = true; } public function toMail(): MailMessage diff --git a/app/Notifications/TransactionalEmails/ResetPassword.php b/app/Notifications/TransactionalEmails/ResetPassword.php index 4593ddb0d..031a2d95a 100644 --- a/app/Notifications/TransactionalEmails/ResetPassword.php +++ b/app/Notifications/TransactionalEmails/ResetPassword.php @@ -17,10 +17,11 @@ class ResetPassword extends Notification public InstanceSettings $settings; - public function __construct($token) + public function __construct($token, public bool $isTransactionalEmail) { $this->settings = instanceSettings(); $this->token = $token; + $this->isTransactionalEmail = true; } public static function createUrlUsing($callback) diff --git a/app/Notifications/TransactionalEmails/Test.php b/app/Notifications/TransactionalEmails/Test.php index eeb32a254..951c007d9 100644 --- a/app/Notifications/TransactionalEmails/Test.php +++ b/app/Notifications/TransactionalEmails/Test.php @@ -8,9 +8,10 @@ use Illuminate\Notifications\Messages\MailMessage; class Test extends CustomEmailNotification { - public function __construct(public string $emails) + public function __construct(public string $emails, public string $isTransactionalEmail) { $this->onQueue('high'); + $this->isTransactionalEmail = true; } public function via(): array