From 50a208351a986ef93c79714038fe92e6f73e8e91 Mon Sep 17 00:00:00 2001 From: Georg Ringer Date: Thu, 29 Feb 2024 08:44:34 +0100 Subject: [PATCH] [TASK] Add screenshot --- Classes/Configuration.php | 2 +- Readme.md | 16 +++++++++++++++- Resources/Public/Screenshots/module.png | Bin 0 -> 43490 bytes composer.json | 2 +- 4 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 Resources/Public/Screenshots/module.png diff --git a/Classes/Configuration.php b/Classes/Configuration.php index e62c795..ba339c9 100644 --- a/Classes/Configuration.php +++ b/Classes/Configuration.php @@ -23,7 +23,7 @@ public function __construct() try { $settings = GeneralUtility::makeInstance(ExtensionConfiguration::class)->get('sent_mails'); - $this->rejectBySearchTerms = GeneralUtility::trimExplode('|', $settings['rejectBySearchTerms'] ?? '', true); + $this->rejectBySearchTerms = GeneralUtility::trimExplode('###', $settings['rejectBySearchTerms'] ?? '', true); $this->mailAPIUsername = $settings['mailAPIUsername'] ?? ''; $this->mailAPIPassword = $settings['mailAPIPassword'] ?? ''; } catch (\Exception $e) { diff --git a/Readme.md b/Readme.md index 6ab782f..26baf42 100644 --- a/Readme.md +++ b/Readme.md @@ -7,6 +7,9 @@ Using a dedicated backend module a user can: * resend the mail * forward the mail to a different email address * reject mails with a specific content +* send a test email + +![module.png](Resources/Public/Screenshots/module.png) ## Installation @@ -16,7 +19,18 @@ This extension requires the usage of composer! composer req studiomitte/sent-mails ``` -## Mail-Information API +## Features + +### Reject sending mails + +The extension provides a simple way to reject sending mails with a specific content. This can be useful to prevent sending mails to special email addresses. +The current use case is to skip sending mails triggered by frontend tests which use a specific email address like `cypress+1709191116@domain.tld`. + +The regex searchwords can be configured in the extension settings with e.g. `cypress\+[\._a-zA-Z0-9-]+@domain\.tld'`. + +### Mail-Information API Calling `/api/mailinformation?search=somecontent` will return a status information about the sent mails. Basic auth needs to be configured in the extension settings. +It only allows to retrieve the information of mails sent in the last 60 seconds +In combination with the feature "Reject sending mails" this can be used to check if a mail would have been sent or not. diff --git a/Resources/Public/Screenshots/module.png b/Resources/Public/Screenshots/module.png new file mode 100644 index 0000000000000000000000000000000000000000..6b519368123652c365914c48b0ccccff2f811fa7 GIT binary patch literal 43490 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