Commit Graph

90 Commits

Author SHA1 Message Date
johnnyq f133981b52 Remove the UTF7 to 8 Encoding as it broke Thunderbird email parsing, somehow Roundcube webmail was fine 2024-06-28 17:21:43 -04:00
johnnyq 6bdfe1b713 Add Function to convert message text from UTF7 to UTF8 possibly fix the Google Issue not sure, we need further testing 2024-06-28 13:52:50 -04:00
johnnyq c27f9fd6a9 Set Charset to UTF-8 to avoid encoding issues on some mail servers 2024-06-28 11:39:34 -04:00
johnnyq 97c2928830 Remove Duplicate Line of Code to connect to IMAP Server and find inbox 2024-06-28 11:25:58 -04:00
johnnyq f57cf5cb91 Fix Plain Text Emails not showing in ticket replies by converting plain text emails to HTML for displaying 2024-06-27 18:50:37 -04:00
johnnyq 95fd0344c0 Fixed ticket Email processing showing array() 2024-06-27 17:23:45 -04:00
johnnyq 1c618892cc Removed WebKlex PHP-IMAP Dependency in post as it was spewing errors for people running older version of php below 8.2 - note this is still required for Mail Parser to work 2024-06-27 01:10:00 -04:00
johnnyq 5b3c6f4272 Better Handling of HTML Reply ticket emails, reduce the spacing trim out extra spaces reduce the line height etc 2024-06-26 13:14:16 -04:00
johnnyq b0c5d43867 Remove the reliance on php-imap extension to test imap connection in setting. Also removed the check for php-imap in the mai, parser as we use fully rely on webklex 2024-06-25 15:48:56 -04:00
johnnyq 40866e34e2 Remove the function to check if php-mailparse is installed. Its not needed and was causing breaing issues and is an unessesary check 2024-06-25 15:28:01 -04:00
johnnyq ee5e6d157d Update Cron Ticket Email Parser script to take in account of multiple variations of the word inbox 2024-06-22 13:45:39 -04:00
johnnyq 779527cf6a Migrated away from PHP Mail Parser to the new WebKlex PHP IMAP Mail Parser this will open the way to support OAUTH2 for Mail servers such as Microsoft 365 and Google Workspaces 2024-06-12 15:39:52 -04:00
Marcus Hill 041cbe15fa Email to ticket parsing - Save the original email
When creating a new ticket, save the original email in a .eml format and attach it to the ticket.

This will be useful for situations when you want to reply to the original thread but don't have access to the inbox. We could add this to all received emails if there is interest?
2024-06-09 21:34:54 +01:00
johnnyq 888552724a Set Timezone in all places and it needs to be set in and sperated it into a seperate include 2024-04-17 12:53:11 -04:00
Marcus Hill 7df1d419fa Ticket Statuses from DB / use left join instead of a function, hard-code system statuses 2024-03-29 23:20:52 +00:00
Marcus Hill 667a93210c Ticket Statuses from DB 2024-03-29 11:22:32 +00:00
johnnyq 1f1197be50 Missing var 2024-03-21 16:16:32 -04:00
johnnyq 5266f126cb Set Timezone in the CRON files as well as the command line PHP doesn't always respect the system timezone 2024-03-21 14:55:54 -04:00
Marcus Hill b9431645d3 Ticket Statuses
Standardize on 5 consistent ticket states:-
- New (Red/Danger)
- Open (Blue/Primary)
- On Hold (Green/Success)
- Auto Close (Dark/black)
- Closed (Dark/black)

Update parts of the app where these have deviated from, as they have not been updated everywhere.
Other states may be configurable in future via custom fields.
2024-03-03 00:13:29 +00:00
johnnyq 91eff8f9b6 no need to SQL escape , in the emails, so removed the \, escaping in post invoice, ticket and ticket_email_parser 2024-01-20 18:13:47 -05:00
johnnyq d3aa2e7239 Only allow A-Za-z- for Ticket Prefix 2024-01-20 16:45:39 -05:00
johnnyq 31d6605647 Updated Closed Ticket Email as well 2024-01-20 15:15:49 -05:00
johnnyq 0a32415b38 Updated ticket mail parser to not escape the entire subject and body of sending emails as this is all done by vars instead 2024-01-20 15:11:07 -05:00
johnnyq a656340c8b Fix mis-spelling sanitize not santize 2024-01-19 19:37:34 -05:00
johnnyq 79175b9e70 Sanitize Ticket Prefix and From Name in Cron Ticket Email Parser 2024-01-19 19:18:26 -05:00
johnnyq d33d11acd2 Set lock file cront ticket email parser once again from 300 sec aka 5 mins to 180 secs aka 3 mins 2024-01-11 00:34:36 -05:00
johnnyq a38e62c412 Set lock file cront ticket email parser from 600 sec aka 10 mins to 300 secs aa 5 mins, update telemetry to include website 2024-01-11 00:32:31 -05:00
johnnyq c9e92cb3bb Cleaned up cron ticket parser to work better with the new mail queuer 2023-12-27 20:35:23 -05:00
johnnyq e8a53cbd6a Update new mail queue function to use the proper mail from name and mail from email 2023-12-21 01:37:21 -05:00
o-psi 98f731b4d4 Remove any "Send Single Email" declarations except in mail queue.
All emails go through the mail queue, using the addToMailQueue() function.
2023-12-19 23:02:05 +00:00
o-psi 70a9120147 Add notification for ticket replies 2023-12-19 22:39:25 +00:00
o-psi 8b4beacf0e Update MailQueue to use function 2023-12-19 22:36:51 +00:00
Marcus Hill 41cfd8d27b Scheduled tickets
- Notify agent DL when scheduled tickets are raised (if configured)

- Bugfix: Ticket numbering if two or more scheduled tickets are raised in the same script execution
- Bugfix: Email processing if a contact replied to a scheduled ticket email (still showing original #--itflow# line rather than ##- Please type your reply above this line -##)
2023-11-18 11:53:24 +00:00
Marcus Hill 0de99fda61 Mail parse - Handle blank/unexpected emails better 2023-11-09 22:18:57 +00:00
johnnyq 5c0ab72d69 Moved creating lock file after all other checks have passed to prevent locking if a certian check has not passed, turned off imap extend log as it could cause mysql errors also remove lock before exiting if cannnot connect to imap 2023-11-01 13:59:35 -04:00
johnnyq 3c8a026b7c Fixed Cron mail queue and email parser missing ' 2023-10-27 13:05:29 -04:00
johnnyq f9d3d3b2f9 Also Added logging to cron mail queue and mail parser when attempting to execute when its already executing by checking to see if the lock file is present 2023-10-25 18:05:19 -04:00
johnnyq c30e0f7768 Remove Lock files older than 10 Mins aka 600 Secs and log it for Cron Email Parser and Cron Mail Queue 2023-10-25 17:57:35 -04:00
Marcus Hill 31be8034e7 Revert different change covered in separate PR 2023-10-21 15:27:21 +01:00
Marcus Hill 7aadad3597 Expand range of allowed file extensions for email to ticket attachments 2023-10-21 14:40:14 +01:00
o-psi 53c11edc8c Update constructs to not have parenthesis. 2023-10-20 15:25:52 -05:00
Marcus Hill 4ac7841882 Email parsing for all domains registered under a client
- Add support for email parsing/contact creation for all domains registered under a client in the domains module, rather than just the client main website.

- Additionally fix domain_created_at bug and move the new ticket auto-reply message to the email queue instead

Future work: Make ticket parsing work with HTML emails (HTML emails break agent notifs)
2023-10-07 15:51:58 +01:00
Marcus Hill 526503d786 Agent new ticket notifs - add more spacing 2023-09-30 23:21:30 +01:00
johnnyq ca82a567d7 When client replies to a ticket via email update the status to Client-Replied 2023-09-19 18:29:17 -04:00
johnnyq 5d74226762 Fix unlinking lock file 2023-09-19 11:40:11 -04:00
johnnyq 946f8d0b97 Initial start of Maintenance under settings 2023-09-19 11:39:11 -04:00
johnnyq 080a79c59d Fix Replicating email opps 2023-09-19 11:10:51 -04:00
johnnyq 65cf8519d0 Added file locks on the mail queue and ticket parse cron jobs to prevent over runs, reverted last commit back to not marking all messages in ticket parse as read 2023-09-19 10:51:52 -04:00
johnnyq d56c8a91d1 Fix a possible race condition with duplicating tickets: Revert marking Email body peeking and flag all other emails not matching the ticket parser 2023-09-19 02:13:46 -04:00
johnnyq f2a3c54ed7 Do not change ticket status upon ticket reply, just update the ticket update timestamp 2023-09-18 18:51:54 -04:00