Feature: #62960 - Signal for mailer initialization

See forge#62960

Description

This signal allows for additional processing upon initialization of a mailer object, e.g. registering a Swift mailer plugin.

Registering the signal:

$signalSlotDispatcher = \\TYPO3\\CMS\\Core\\Utility\\GeneralUtility::makeInstance(\\TYPO3\\CMS\\Extbase\\SignalSlot\\Dispatcher::class);
$signalSlotDispatcher->connect(
	\\TYPO3\\CMS\\Core\\Mail\\Mailer::class,
	'postInitializeMailer',
	\\Vendor\\Package\\Slots\\MailerSlot::class,
	'registerPlugin'
);
Copied!

The slot class:

<?php
namespace Vendor\\Package\\Slots;

use TYPO3\\CMS\\Core\\Mail\\Mailer;

class MailerSlot {
	/**
	 * @param Mailer $mailer
	 * @return void
	 */
	public function registerPlugin(Mailer $mailer) {
		// Processing here
	}
}
Copied!

Impact

Extensions may now perform arbitrary processing for every mail.