TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user