diff --git a/app/Jobs/Mail/NinjaMailerJob.php b/app/Jobs/Mail/NinjaMailerJob.php index 72ce0a95d6d1..ee93b4156d43 100644 --- a/app/Jobs/Mail/NinjaMailerJob.php +++ b/app/Jobs/Mail/NinjaMailerJob.php @@ -128,13 +128,7 @@ class NinjaMailerJob implements ShouldQueue } if ($this->client_mailgun_secret) { - - $endpoint = 'api.mailgun.net'; - - if(strpos($this->client_mailgun_secret, 'key') !== false) - $endpoint = 'api.eu.mailgun.net'; - - $mailer->mailgun_config($this->client_mailgun_secret, $this->client_mailgun_domain, $endpoint); + $mailer->mailgun_config($this->client_mailgun_secret, $this->client_mailgun_domain, $this->nmo->settings->mailgun_endpoint); } $mailer diff --git a/app/Services/Email/Email.php b/app/Services/Email/Email.php index 46f1016a993b..4f68a139be7c 100644 --- a/app/Services/Email/Email.php +++ b/app/Services/Email/Email.php @@ -58,6 +58,8 @@ class Email implements ShouldQueue protected ?string $client_mailgun_domain = null; + protected ?string $client_mailgun_endpoint = null; + private string $mailer = 'default'; public Mailable $mailable; @@ -236,13 +238,7 @@ class Email implements ShouldQueue if ($this->client_mailgun_secret) { - $endpoint = 'api.mailgun.net'; - - if (strpos($this->client_mailgun_secret, 'key') !== false) { - $endpoint = 'api.eu.mailgun.net'; - } - - $mailer->mailgun_config($this->client_mailgun_secret, $this->client_mailgun_domain, $endpoint); + $mailer->mailgun_config($this->client_mailgun_secret, $this->client_mailgun_domain, $this->client_mailgun_endpoint); } /* Attempt the send! */ @@ -488,6 +484,8 @@ class Email implements ShouldQueue $this->client_mailgun_domain = null; + $this->client_mailgun_endpoint = null; + //always dump the drivers to prevent reuse app('mail.manager')->forgetMailers(); } @@ -537,6 +535,8 @@ class Email implements ShouldQueue if (strlen($this->email_object->settings->mailgun_secret) > 2 && strlen($this->email_object->settings->mailgun_domain) > 2) { $this->client_mailgun_secret = $this->email_object->settings->mailgun_secret; $this->client_mailgun_domain = $this->email_object->settings->mailgun_domain; + $this->client_mailgun_endpoint = $this->email_object->settings->mailgun_endpoint; + } else { $this->email_object->settings->email_sending_method = 'default'; return $this->setMailDriver();