From 30af95c6a28251fa8fed1e7c9f9c8fa9bad157b7 Mon Sep 17 00:00:00 2001
From: Gerrit Mohrmann <code.mailfach@abwesend.de>
Date: Fri, 19 Aug 2022 19:39:45 +0200
Subject: [PATCH] [BUGFIX] Allow EmailFinisher recipients override with
 TypoScript again

Resolves: #98178
Releases: main, 12.4, 11.5
Change-Id: I6ebcbb67b9cc51d7d56b1da945fdd8b05d5081dc
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/79868
Tested-by: core-ci <typo3@b13.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
---
 .../form/Classes/Domain/Finishers/EmailFinisher.php  | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/typo3/sysext/form/Classes/Domain/Finishers/EmailFinisher.php b/typo3/sysext/form/Classes/Domain/Finishers/EmailFinisher.php
index c37424c6b4d4..395e6a84f600 100644
--- a/typo3/sysext/form/Classes/Domain/Finishers/EmailFinisher.php
+++ b/typo3/sysext/form/Classes/Domain/Finishers/EmailFinisher.php
@@ -22,6 +22,7 @@ use Symfony\Component\Mime\Address;
 use TYPO3\CMS\Core\Mail\FluidEmail;
 use TYPO3\CMS\Core\Mail\MailerInterface;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Core\Utility\MathUtility;
 use TYPO3\CMS\Extbase\Domain\Model\FileReference;
 use TYPO3\CMS\Fluid\View\TemplatePaths;
 use TYPO3\CMS\Form\Domain\Finishers\Exception\FinisherException;
@@ -239,6 +240,17 @@ class EmailFinisher extends AbstractFinisher
 
         $addresses = [];
         foreach ($recipients as $address => $name) {
+            // The if is needed to set address and name with TypoScript
+            if (MathUtility::canBeInterpretedAsInteger($address)) {
+                if (is_array($name)) {
+                    $address = $name[0] ?? '';
+                    $name = $name[1] ?? '';
+                } else {
+                    $address = $name;
+                    $name = '';
+                }
+            }
+
             if (!GeneralUtility::validEmail($address)) {
                 // Drop entries without valid address
                 continue;
-- 
GitLab