diff --git a/Classes/Module/DmailController.php b/Classes/Module/DmailController.php index ac3a456b..499e03e0 100644 --- a/Classes/Module/DmailController.php +++ b/Classes/Module/DmailController.php @@ -1261,7 +1261,8 @@ protected function sendMail($row): void $result = $this->cmd_compileMailGroup($recipientGroups); $queryInfo = $result['queryInfo']; - $distributionTime = strtotime($this->sendMailDatetimeHr); + // Respect time zone here because the JavaScript date picker cannot do that + $distributionTime = (int)(new \DateTime($this->sendMailDatetimeHr))->format('U') - (int)(new \DateTime())->format('Z'); if ($distributionTime < time()) { $distributionTime = time(); } @@ -1473,8 +1474,12 @@ protected function cmd_finalmail(array $direct_mail_row): array ); $this->flashMessageQueue->addMessage($message); } + + // Respect time zone here because the JavaScript date picker cannot do that + $adjustedSendMailDateTime = (int)(new \DateTime())->format('U') + (int)(new \DateTime())->format('Z'); // flatpickr parses the field value as ISO8601, a localised string makes it throw. - $sendMailDatetime = $this->sendMailDatetimeHr ?: (new \DateTime())->format('c'); + $sendMailDatetime = $this->sendMailDatetimeHr ?: gmdate('c', $adjustedSendMailDateTime); + return [ 'id' => $this->id, 'sys_dmail_uid' => $this->sys_dmail_uid,