AfterMailerInitializationEvent¶
The PSR-14 event \TYPO3\CMS\Core\Mail\Event\AfterMailerInitializationEvent
is fired once a new mailer is instantiated with specific transport
settings. So it is possible to add custom mailing settings.
Example¶
Registration of the event listener in the extension's Services.yaml
:
EXT:my_extension/Configuration/Services.yaml¶
services:
MyVendor\MyExtension\Mail\EventListener\MyEventListener:
tags:
- name: event.listener
identifier: 'my-extension/after-mailer-initialization'
An example listener, which hooks into the Mailer API to modify mailer settings to not send any emails ("null mailer"), could look like this:
EXT:my_extension/Classes/Mail/EventListener/MyEventListener.php¶
<?php
declare(strict_types=1);
namespace MyVendor\MyExtension\Mail\EventListener;
use TYPO3\CMS\Core\Mail\Event\AfterMailerInitializationEvent;
final class MyEventListener
{
public function __invoke(AfterMailerInitializationEvent $event): void
{
$event->getMailer()->injectMailSettings(['transport' => 'null']);
}
}