79 lines
1.9 KiB
ReStructuredText
79 lines
1.9 KiB
ReStructuredText
.. 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
|