From f0a24b7e5b1179f2026a5aead9d2896ed5782efc Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Mon, 17 Apr 2023 18:21:43 +0200 Subject: [PATCH] ticket system improved logging on invalid date --- .../MailClient/Data/MailMessageData.php | 1 + .../Ticket/Task/TicketImportHelper.php | 22 ++++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/classes/Components/MailClient/Data/MailMessageData.php b/classes/Components/MailClient/Data/MailMessageData.php index 88224c88..bab8f8d9 100644 --- a/classes/Components/MailClient/Data/MailMessageData.php +++ b/classes/Components/MailClient/Data/MailMessageData.php @@ -309,6 +309,7 @@ final class MailMessageData implements MailMessageInterface, JsonSerializable } $dateTime = date_create($date->getValue()); if ($dateTime === false) { + throw new InvalidArgumentException('Invalid date: '.$date->getValue()); return null; } diff --git a/classes/Modules/Ticket/Task/TicketImportHelper.php b/classes/Modules/Ticket/Task/TicketImportHelper.php index 36a29c6a..942c73ec 100644 --- a/classes/Modules/Ticket/Task/TicketImportHelper.php +++ b/classes/Modules/Ticket/Task/TicketImportHelper.php @@ -511,7 +511,10 @@ class TicketImportHelper continue; } } catch (Throwable $e) { - $this->logger->error('Error during email import '.$messageNumber, ['message' => substr(print_r($message,true),0,1000)]); + + $exception_message = $e->getMessage(); + + $this->logger->error('Error during email import '.$messageNumber, ['exc-message' => $exception_message ,'message2' => substr(print_r($message,true),0,1000)]); continue; } } @@ -573,14 +576,17 @@ class TicketImportHelper $this->logger->debug('Text (converted)',['plain' => $action, 'html' => $action_html]); // Import database emailbackup - $date = $message->getDate(); - if (is_null($date)) { // This should not be happening -> Todo check getDate function - $this->logger->debug('Null date',['subject' => $message->getSubject(), $message->getHeader('date')->getValue()]); - return(false); - } else { - $timestamp = $date->getTimestamp(); - $frommd5 = md5($from . $subject . $timestamp); + try { + $date = $message->getDate(); } + catch (exception $e) { + $this->logger->debug('Invalid date',['exc-message' => $e->getMessage(),'subject' => $message->getSubject(), $message->getHeader('date')->getValue()]); + return(false); + } + + $timestamp = $date->getTimestamp(); + $frommd5 = md5($from . $subject . $timestamp); + $empfang = $date->format('Y-m-d H:i:s'); $sql = "SELECT COUNT(id) FROM `emailbackup_mails`