TYPO3 v15 dev-main snapshot ()

This commit is contained in:
2026-08-10 22:31:09 +02:00
commit af8cc155b5
6818 changed files with 642608 additions and 0 deletions
@@ -0,0 +1,78 @@
.. include:: /Includes.rst.txt
.. _breaking-108097-1763046431:
===============================================
Breaking: #108097 - MailMessage->send() removed
===============================================
See :issue:`108097`
Description
===========
Class :php:`\TYPO3\CMS\Core\Mail\MailMessage` is a data object that
should not contain service methods like :php:`send()`. The following methods
have been removed from this class:
* :php:`send()`
* :php:`isSent()`
Impact
======
Using the removed methods on instances of this class will raise fatal PHP
errors.
Affected installations
======================
Instances that create :php-short:`\TYPO3\CMS\Core\Mail\MailMessage` objects
and call :php:`send()` or :php:`isSent()` are affected. The extension scanner
is not configured to find affected code since the method names are too generic.
Migration
=========
The service (usually a controller class) that sends emails should be
reconfigured to get an instance of :php-short:`\TYPO3\CMS\Core\Mail\MailerInterface`
injected and should use that service to call :php:`send()`.
Example before:
.. code-block:: php
use TYPO3\CMS\Core\Mail\MailMessage;
final readonly class MyController
{
public function sendMail()
{
$email = new MailMessage();
$email->subject('Some subject');
$email->send();
}
}
Example after:
.. code-block:: php
use TYPO3\CMS\Core\Mail\MailMessage;
use TYPO3\CMS\Core\Mail\MailerInterface;
final readonly class MyController
{
public function __construct(
private MailerInterface $mailer
) {}
public function sendMail()
{
$email = new MailMessage();
$email->subject('Some subject');
$this->mailer->send($email);
}
}
.. index:: PHP-API, NotScanned, ext:core