Fix: Allow test emails to be sent to any email address (#7600)
This commit is contained in:
commit
c1380e7dba
3 changed files with 24 additions and 15 deletions
|
|
@ -43,21 +43,26 @@ public function send(SendsEmail $notifiable, Notification $notification): void
|
|||
throw new Exception('No email recipients found');
|
||||
}
|
||||
|
||||
foreach ($recipients as $recipient) {
|
||||
// Check if the recipient is part of the team
|
||||
if (! $members->contains('email', $recipient)) {
|
||||
$emailSettings = $notifiable->emailNotificationSettings;
|
||||
data_set($emailSettings, 'smtp_password', '********');
|
||||
data_set($emailSettings, 'resend_api_key', '********');
|
||||
send_internal_notification(sprintf(
|
||||
"Recipient is not part of the team: %s\nTeam: %s\nNotification: %s\nNotifiable: %s\nEmail Settings:\n%s",
|
||||
$recipient,
|
||||
$team,
|
||||
get_class($notification),
|
||||
get_class($notifiable),
|
||||
json_encode($emailSettings, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)
|
||||
));
|
||||
throw new Exception('Recipient is not part of the team');
|
||||
// Skip team membership validation for test notifications
|
||||
$isTestNotification = data_get($notification, 'isTestNotification', false);
|
||||
|
||||
if (! $isTestNotification) {
|
||||
foreach ($recipients as $recipient) {
|
||||
// Check if the recipient is part of the team
|
||||
if (! $members->contains('email', $recipient)) {
|
||||
$emailSettings = $notifiable->emailNotificationSettings;
|
||||
data_set($emailSettings, 'smtp_password', '********');
|
||||
data_set($emailSettings, 'resend_api_key', '********');
|
||||
send_internal_notification(sprintf(
|
||||
"Recipient is not part of the team: %s\nTeam: %s\nNotification: %s\nNotifiable: %s\nEmail Settings:\n%s",
|
||||
$recipient,
|
||||
$team,
|
||||
get_class($notification),
|
||||
get_class($notifiable),
|
||||
json_encode($emailSettings, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)
|
||||
));
|
||||
throw new Exception('Recipient is not part of the team');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,8 @@ class Test extends Notification implements ShouldQueue
|
|||
|
||||
public $tries = 5;
|
||||
|
||||
public bool $isTestNotification = true;
|
||||
|
||||
public function __construct(public ?string $emails = null, public ?string $channel = null, public ?bool $ping = false)
|
||||
{
|
||||
$this->onQueue('high');
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@
|
|||
|
||||
class Test extends CustomEmailNotification
|
||||
{
|
||||
public bool $isTestNotification = true;
|
||||
|
||||
public function __construct(public string $emails, public bool $isTransactionalEmail = true)
|
||||
{
|
||||
$this->onQueue('high');
|
||||
|
|
|
|||
Loading…
Reference in a new issue