From d4d57993421517566b7fb4a3b74b6facadf2b8de Mon Sep 17 00:00:00 2001 From: fusionate Date: Tue, 1 Aug 2023 00:14:00 +0000 Subject: [PATCH] Email Queue - Job & Service: Fix variable issues to mitigate errors. --- app/email_queue/resources/jobs/email_send.php | 25 ++++++++++++++++--- .../resources/service/email_queue.php | 2 +- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/app/email_queue/resources/jobs/email_send.php b/app/email_queue/resources/jobs/email_send.php index ab10094a2f..a24e70f141 100644 --- a/app/email_queue/resources/jobs/email_send.php +++ b/app/email_queue/resources/jobs/email_send.php @@ -29,8 +29,8 @@ if (is_uuid($_GET['email_queue_uuid'])) { $email_queue_uuid = $_GET['email_queue_uuid']; $hostname = urldecode($_GET['hostname']); - $debug = $_GET['debug']; - $sleep_seconds = $_GET['sleep']; + $debug = $_GET['debug'] ?? null; + $sleep_seconds = $_GET['sleep'] ?? null; } else { //invalid uuid @@ -84,7 +84,7 @@ //create the process id file if the process doesn't exist if (!$pid_exists) { //remove the old pid file - if (file_exists($file)) { + if (!empty($pid_file) && file_exists($pid_file)) { unlink($pid_file); } @@ -284,6 +284,7 @@ } //add email settings + $email_settings = ''; ksort($_SESSION['email']); foreach ($_SESSION['email'] as $name => $setting) { foreach ($setting as $type => $value) { @@ -293,11 +294,27 @@ } } +//parse email and name + if (!empty($email_from)) { + if (valid_email($email_from)) { + $email_from_address = $email_from; + } + else { + $lt_pos = strpos($email_from, '<'); + if ($lt_pos !== false) { + $email_from_address = str_replace('>', '', substr($email_from, $lt_pos + 1)); + $email_from_name = trim(substr($email_from, 0, $lt_pos)); + } + } + } + //send the email $email = new email; $email->domain_uuid = $domain_uuid; $email->from_address = $email_from_address; - $email->from_name = $email_from_name; + if (!empty($email_from_name)) { + $email->from_name = $email_from_name; + } $email->recipients = $email_to; $email->subject = $email_subject; $email->body = $email_body; diff --git a/app/email_queue/resources/service/email_queue.php b/app/email_queue/resources/service/email_queue.php index ec0149a95f..825636efc1 100644 --- a/app/email_queue/resources/service/email_queue.php +++ b/app/email_queue/resources/service/email_queue.php @@ -104,7 +104,7 @@ //create the process id file if the process doesn't exist if (!$pid_exists) { //remove the old pid file - if (file_exists($file)) { + if (file_exists($pid_file)) { unlink($pid_file); }