diff --git a/app/DataMapper/CompanySettings.php b/app/DataMapper/CompanySettings.php index 60027d4cd527..dd11547e34ff 100644 --- a/app/DataMapper/CompanySettings.php +++ b/app/DataMapper/CompanySettings.php @@ -442,6 +442,8 @@ class CompanySettings extends BaseSettings public $send_email_on_mark_paid = false; public $postmark_secret = ''; + + public $custom_sending_email = ''; public $mailgun_secret = ''; @@ -460,6 +462,7 @@ class CompanySettings extends BaseSettings public $show_shipping_address = false; public static $casts = [ + 'custom_sending_email' => 'string', 'show_paid_stamp' => 'bool', 'show_shipping_address' => 'bool', 'company_logo_size' => 'string', diff --git a/app/Jobs/Mail/NinjaMailerJob.php b/app/Jobs/Mail/NinjaMailerJob.php index a15c511ba95e..692fe67c34b7 100644 --- a/app/Jobs/Mail/NinjaMailerJob.php +++ b/app/Jobs/Mail/NinjaMailerJob.php @@ -386,12 +386,14 @@ class NinjaMailerJob implements ShouldQueue return $this->setMailDriver(); } - $user = $this->resolveSendingUser(); + $sending_email = (isset($this->nmo->settings->custom_sending_email) && stripos($this->nmo->settings->custom_sending_email, "@")) ? $this->nmo->settings->custom_sending_email : $user->email; + $sending_user = (isset($this->nmo->settings->email_from_name) && strlen($this->nmo->settings->email_from_name) > 2) ? $this->nmo->settings->email_from_name : $user->name(); + $this->nmo ->mailable - ->from($user->email, $user->name()); + ->from($sending_email, $sending_user); } /** @@ -410,9 +412,12 @@ class NinjaMailerJob implements ShouldQueue $user = $this->resolveSendingUser(); + $sending_email = (isset($this->nmo->settings->custom_sending_email) && stripos($this->nmo->settings->custom_sending_email, "@")) ? $this->nmo->settings->custom_sending_email : $user->email; + $sending_user = (isset($this->nmo->settings->email_from_name) && strlen($this->nmo->settings->email_from_name) > 2) ? $this->nmo->settings->email_from_name : $user->name(); + $this->nmo ->mailable - ->from($user->email, $user->name()); + ->from($sending_email, $sending_user); } /**