From 37839b269c9b8e457bfc79358fec4b2f6dd082c9 Mon Sep 17 00:00:00 2001 From: Daniel Seifert Date: Tue, 9 Jul 2024 23:33:17 +0200 Subject: [PATCH] show communication protocol from shop # Conflicts: # views/twig/admin/mailConfigCheck.html.twig --- .../Controller/Admin/MailConfigCheck.php | 21 ++++++++++++++++++- .../views/admin/tpl/mailconfigcheck.tpl | 13 ++++++++++++ Application/views/de/translations.php | 2 +- Application/views/en/translations.php | 2 +- 4 files changed, 35 insertions(+), 3 deletions(-) diff --git a/Application/Controller/Admin/MailConfigCheck.php b/Application/Controller/Admin/MailConfigCheck.php index ad02f2b..79f3e4a 100644 --- a/Application/Controller/Admin/MailConfigCheck.php +++ b/Application/Controller/Admin/MailConfigCheck.php @@ -33,6 +33,7 @@ class MailConfigCheck extends AdminDetailsController { $this->checkDataAreSet(); $this->addTplParam('shop', Registry::getConfig()->getActiveShop()); + $this->addTplParam('recipient', $this->testMailAddress); return parent::render(); } @@ -74,13 +75,31 @@ class MailConfigCheck extends AdminDetailsController { try { $shop = Registry::getConfig()->getActiveShop(); + $config = Registry::getConfig(); $mail = oxNew(Email::class); - $mail->setRecipient($this->testMailAddress); + $mail->setRecipient( + trim(Registry::getRequest()->getRequestEscapedParameter('recipient')) ?: $this->testMailAddress + ); $mail->setBody('.'); $mail->setFrom($shop->getFieldData('oxowneremail')); + + $currentDebug = $config->getConfigParam('iDebug'); + $config->setConfigParam('iDebug', 6); + $mail->setSmtp(); + + ob_start(); $mail->send(); + $communication = ob_get_contents(); + ob_end_clean(); + + $re = '/(^|\)(\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\s)/m'; + $subst = "$1"; + $communication = preg_replace($re, $subst, $communication); + + $config->setConfigParam('iDebug', $currentDebug); $this->addTplParam('mailer', $mail->getMailer()); + $this->addTplParam('communication', $communication); } catch (Exception $e) { Registry::getUtilsView()->addErrorToDisplay($e); } diff --git a/Application/views/admin/tpl/mailconfigcheck.tpl b/Application/views/admin/tpl/mailconfigcheck.tpl index 696239e..542254b 100644 --- a/Application/views/admin/tpl/mailconfigcheck.tpl +++ b/Application/views/admin/tpl/mailconfigcheck.tpl @@ -5,6 +5,14 @@ span.btn { cursor: default; } + + .communicationoutput { + background-color: black; + color: white; + max-height: 500px; + overflow: auto; + margin-top: 30px; + } [{assign var="readonly" value="readonly disabled"}] @@ -52,11 +60,16 @@ [{oxmultilang ident="D3_MAILCHECKER_CFGCHECK_SHOPSEND_SMTP_DESC"}] [{/if}] + +
+ [{$communication}] +
[{else}]
[{$oViewConf->getHiddenSid()}] +
[{/if}] diff --git a/Application/views/de/translations.php b/Application/views/de/translations.php index b4e115d..c1c7633 100644 --- a/Application/views/de/translations.php +++ b/Application/views/de/translations.php @@ -20,7 +20,7 @@ return [ 'D3_MAILCHECKER_CFGCHECK_SHOPSEND_PHPMAILER' => 'PhpMailer', 'D3_MAILCHECKER_CFGCHECK_SHOPSEND_PHPMAILER_DESC' => 'Der Versand über den PhpMailer sollte dringend vermieden werden, da solche Mails meist als Spam eingestuft werden. Wenn Sie alle SMTP-Daten eingegeben haben, prüfen Sie mögliche Anmeldeprobleme im SMTP-Check.', 'D3_MAILCHECKER_CFGCHECK_SHOPSEND_SMTP' => 'SMTP', - 'D3_MAILCHECKER_CFGCHECK_SHOPSEND_SMTP_DESC' => 'Alles in bester Ordnung. Bitte prüfen Sie noch die nötigen SPF-Einträge für Ihre Domain(s).', + 'D3_MAILCHECKER_CFGCHECK_SHOPSEND_SMTP_DESC' => 'Alles in bester Ordnung. Bitte prüfen Sie noch die nötigen Einstellungen im Tab "Authorisierung Check" für Ihre Domain(s).', 'D3_MAILCHECKER_CFGCHECK_STARTCHECK' => 'Konfiguration testen', 'D3_MAILCHECKER_SMTPCHECK_DESC1' => 'Wenn trotz passend eingegebenen Daten kein Mailversand über SMTP erfolgt, kann hier der Anmeldeversuch am Postausgangsserver nachvollzogen werden. Eventuell auftretende Meldungen werden gezeigt.', diff --git a/Application/views/en/translations.php b/Application/views/en/translations.php index 88cb8c6..9c8f678 100644 --- a/Application/views/en/translations.php +++ b/Application/views/en/translations.php @@ -15,7 +15,7 @@ return [ "D3_MAILCHECKER_CFGCHECK_SHOPSEND_PHPMAILER" => "PhpMailer", "D3_MAILCHECKER_CFGCHECK_SHOPSEND_PHPMAILER_DESC" => "Sending via PhpMailer should be avoided as such emails are usually classified as spam. Once you have entered all SMTP data, check possible login problems in the SMTP check.", "D3_MAILCHECKER_CFGCHECK_SHOPSEND_SMTP" => "SMTP", - "D3_MAILCHECKER_CFGCHECK_SHOPSEND_SMTP_DESC" => "Everything is fine. Please check the necessary SPF entries for your domain(s).", + "D3_MAILCHECKER_CFGCHECK_SHOPSEND_SMTP_DESC" => "Everything is fine. Please check the necessary settings for your domain(s) in the \"Authentication Check\" tab .", "D3_MAILCHECKER_CFGCHECK_STARTCHECK" => "Test configuration", "D3_MAILCHECKER_SMTPCHECK_DESC1" => "If no mail is sent via SMTP despite the appropriate data entered, the attempt to log in to the outgoing mail server can be repeated here. Any messages that may occur are shown.", "D3_MAILCHECKER_SMTPCHECK_DESC2" => "New connections can also be tested here in advance.",