BeforeMailerSentMessageEvent
New in version 12.0
The PSR-14 event \TYPO3\
is dispatched before the message is sent by the mailer and can be
used to manipulate the \Symfony\
and the
\Symfony\
. Usually a
\Symfony\
or \TYPO3\
instance is given as Raw
. Additionally the mailer instance is
given, which depends on the implementation - usually
\TYPO3\
. It contains the
\Symfony\
object, which can be retrieved using
the get
method.
Example
Registration of the event listener in the extension's Services.
:
services:
# Place here the default dependency injection configuration
MyVendor\MyExtension\Mail\EventListener\MyEventListener:
tags:
- name: event.listener
identifier: 'my-extension/modify-message'
Read how to configure dependency injection in extensions.
The corresponding event listener class:
<?php
declare(strict_types=1);
namespace MyVendor\MyExtension\Mail\EventListener;
use Symfony\Component\Mime\Address;
use Symfony\Component\Mime\Email;
use TYPO3\CMS\Core\Mail\Event\BeforeMailerSentMessageEvent;
final class MyEventListener
{
public function __invoke(BeforeMailerSentMessageEvent $event): void
{
$message = $event->getMessage();
// If $message is an Email implementation, add an additional recipient
if ($message instanceof Email) {
$message->addCc(new Address('cc_recipient@example.org'));
}
}
}
API
- class BeforeMailerSentMessageEvent
-
- Fully qualified name
-
\TYPO3\
CMS\ Core\ Mail\ Event\ Before Mailer Sent Message Event
This event is fired before the Mailer has sent a message and allows listeners to manipulate the RawMessage and the Envelope.
Note: Usually TYPO3CMSCoreMailMailer is given to the event. This implementation allows to retrieve the TransportInterface using the getTransport() method.