We have had a few customers for whom reply by email was not working. As I started using a new email client (mailbird), I realized this was not working for me any longer either.
As I could reproduce, I investigated and found that it comes down to the html message being sent by ATS being invalid, and thus being stripped by the client when hitting the Reply button. As the the user response misses the "Reply above this line" line, the ticket is not recognized (if the X-ATS-TICKETID header is also removed, which seems common).
This happens because the PLG_ATS_POSTEMAIL_REPLYABOVE string is simply prepended to the email template:
$body = '!-!- ' . JText::_('PLG_ATS_POSTEMAIL_REPLYABOVE') . ' ' . $ticketInfo . ' -!-!'; $body = '<p>' . $body . '</p>'; $template = $body . $template;
And so we end up with a message similar to:
<p>!-!- You can reply above this line {ticketid:3298} -!-!</p> <html> <head> <title>Your new private ticket #3298 Test ticket with reply by= email</title> </head> <body><div style=3D"background-color: #f3f3f5; padding: 30px 20px;">
So the Reply above... line is outside of the html tag, and is stripped. I got this working by inserting the Reply above... line just after the body tag:
//$body = '<p>' . $body . '</p>'; //$template = $body . $template; $template = str_replace( '<body>', '<body><p>' . $body . '</p>', $template );
We only send HTML, and this is fine for us. I suspect you might want to check first for the presence of the body tag, in case admin selected to send text-only messages (in such case, the previous way of appending only is fine).
The resulting HTML message is no longer stripped when using the Replt button and is recognized by ATS as pertaining to a ticket.
Rgds