Debugging the system lead me to an issue with the autoloader in which the problem seemed to be that the typed variables in PHP are expecting different classes from the $mailer object passed.
For instance in the file: /plugins/ats/mailfetch/mailfetch.php at line 128 the method onATSSendEmail expects the $mailer variable to be of type Joomla\CMS\Mail\Mail but the object passes is of type JMail (I know there is a prefix on the namespace use declaration, but that does not change the class type ;) )
I also have the same issue in the administrator/components/com_ats/Helper/Email.php file at line 219 in the inlineImages method.
I both cases just removing they type in the method declaration, made the system works, but obviously this looks wrong as at the end I'm not using the right class for the job (or the one the frawework expects).
I have Akeeba Tickets installed in another site (3.3.0) and I do not have this issue (and method declaration has not changed) in a very similar server setup so I think it might be related to any of the extensions I have installed on this site and I think actually it is related to the "override joomla emails" plugin by AcyMailing.
For sure when there is an override of the joomla classes, there is very few things you can do about it, but as this issue is very likely to happen through all Joomla 3 just wondering if you can think of a workaround so that we can have override email extensions and Akeeba Tickets working fine ;)
Also I thought it was a good idea to document this behaviour here so that other users can find it.
Any reply is appreciated.
PS: Sorry if this post seems not very clear but I just came up with the override class idea when I was writing it (duck rubbing I guess).
|Joomla! version (in x.y.z format)||3.9.18|
|PHP version (in x.y.z format)||7.3.15 (also on 7.4.5)|
|Akeeba Ticket System version (x.y.z format)||3.3.1|