I recently updated one of our site from ATS 2.4.x to 3.0.4. An issue has appeared with reply by email (which was working fine for the last feaw years). I spent a fair bit of time trying to understand this and It seems there's a problem linked to PHP setup and/or ATS:
Symptoms: all the fetching is fine, the email messages are fetched and parsed normally but replies from users are not saved as posts in existing ticket. I do not allow opening tickets by email. The user receives a message saying "New post creation failed":
"Oops! Something went wrong trying to create your post. It's probably not your fault. Please visit our site and try posting your ticket or ticket reply there."
Tracking down: There's a PHP notice in my logs for each attempt:
PHP Warning: session_cache_limiter(): Cannot change cache limiter when headers already sent in /var/www/weeblr.com/www/public/libraries/joomla/session/handler/native.php on line 235
I also get this one, but I don't think it's related:
PHP Notice: Trying to get property 'created_by' of non-object in /var/www/weeblr.com/www/public/administrator/components/com_ats/Helper/Permissions.php on line 369
What I found: it appears that having any outputduring the CLI operation causes this warning to happen. I assume not being able to create/resume a session breaks Fof or similar, which then cannot save the post.
Things attempted In cli/ats-mail-fetch.php, I tried to change:
But despite setting $cliFeedback to true, the CLI itself actually has a lot of output, including
Akeeba Ticket System -- Fetch email for the Reply By Email feature
SolutionEventually I commented out all instances of $this->out(), in addition to setting $cliFeedback to false. The cli then produces absolutely no output and the replies sent by email are normally posted.
Dose that ring any bell?
|Joomla! version (in x.y.z format)||3.9.13|
|PHP version (in x.y.z format)||7.2.4|
|Akeeba Ticket System version (x.y.z format)||3.0.4|