In my extensions updated for Joomla! 4.0 i use the method ClearAddresses(). In Joomla! 3.x the Joomla\CMS\Mail\Mail extended phpmailer class now in Joomla! 4.x the Joomla\CMS\Component\ComponentHelper\MailTemplate extends nothing and i don't have anymore access to ClearAddresses(), ClearCCs(), ClearBCCs() This is my code :
use Joomla\CMS\Mail\MailTemplate;
public static function send(MailTemplate $mailTemplate, array $receivers): bool
{
$chunks = array_chunk($receivers, $emailRecipientCount);
$success = true;
foreach ($chunks as $emails)
{
if ($emailRecipientCount == 1 || $emailRecipientPrivacy == 'to')
{
$mailTemplate->ClearAddresses();
$mailTemplate->addRecipient($emails);
}
elseif ($emailRecipientPrivacy == 'cc')
{
$mailTemplate->ClearCCs();
$mailTemplate->addCC($emails);
}
else
{
$mailTemplate->ClearBCCs();
$mailTemplate->addBCC($emails);
}
try
{
$result = $mailTemplate->Send();
if ($result === false)
{
// Mail is turned off, or broken
return false;
}
if (is_subclass_of($result, 'Exception'))
{
// Mail send is failed
$success = false;
}
}
catch (Exception $e)
{
$success = false;
Log::add($e->getMessage(), Log::ERROR, 'kunena');
}
if (isset(static::$mailer_error_status))
{
$success = false;
break;
}
}
return $success;
}
So by what replacing ClearAddresses(), ClearCCs(), ClearBCCs() method here ?