ticketit
ticketit copied to clipboard
Issues with Email
-
It does not add the reply email as a comment to the original ticket, instead it creates a new ticket for the reply email It looked like your email subject was showing as the ticket subject rather than "* added new comment on ticket *" This would be why. I'm not sure if the subject wasnt sent out correctly to you from the comment email or what the issue was, but thats the string that the emailcontroller looks for in the subject line to determine that the email is an existing ticket.
-
It could not download and attach the email attachment I'll take a look at this. I had mine working correctly but may have changed something since the last time I checked it.
-
It could not filter out the signature Unfortunately I'm not sure how to filter out the signature. But if it correctly tags a ticket as a comment instead of a new ticket it should successfully remove all previous reply's etc....
I've got some more testing to do but I'll post updates and any further questions I may have for you in this issue here.
Thanks!
You have done a great work, and I wish I could be more helpful to you, may be couple of days and you will find me working on this issue with you.
I'll set up a test and see if I can help.
I'm right working on it. I'll making a commit in about 10 minutes
Nice
Sounds great! I've been swamped and havent had much time to tackle debugging it.
That's the spirit :+1:
Oh sorry guys, I thought it was the other issue... https://github.com/thekordy/ticketit/issues/122
I wan't working on this. But I'll check it tomorrow, now I have plenty of time :-)
Auto assign now works
https://github.com/thekordy/ticketit/commit/3d601cb05d16b1dcf65555b7639f0903a13b2084
I found this package: https://github.com/willdurand/EmailReplyParser
Others have already done this functionality before, maybe we could use it. What do you think?
I personally have no issues using more packages as long as they accomplish a new task or more completely fulfill a current one. It looks like it does some work with signatures in addition to replys so thats definitely a benefit.
But that package works only with emails in english language, and yet it won't connect the reply email subject with the original ticket.
I have an initial idea to resolve this:
-
To connect reply email with the ticket, we may add the ticket id to the subject of the first confirmation email sent to the user created the email, ex: "My issue subject [id: 123]" .. this can be checked by a simple regex .. also all communication emails should include the id in their subject.
-
To remove quoted text, Some providers include a static expression to show users where to write their reply, ex: ###### write your reply before this line ####### ... but I haven't thought yet about how that could be done in multilingual environment.
For 2)
We can still use some regex for ###### no-matter-what-text-is-in-here #######
For example: #{6}.+#{6}
Or:
######
Write your reply before the line above
In this case again, it doesn't matter what is written below the may #-s.
Or since everything is stored in language files, we can search for a translated string. There's no real difference. Even if different users have different language setup, we can always identify the necessary translation file.
And yeah, 1) would solve many issues.
However I think it's time to change from incremental ticket id's to some kind of uuid / hash / random string solution. Users should have minimal information about tickets not created by them.
In this case again, it doesn't matter what is written below the may #-s.
You are right, that would solve it with minimum impacts and won't be affected by translations.
However I think it's time to change from incremental ticket id's to some kind of uuid / hash / random string solution
Yes, and it would help us in future when we offer guest tickets, they would follow the status of their tickets by providing only the ticket id and their email address.
I think another thing is left, to make this runs automatically on intervals
I agree. My intent was to just set up the laravel scheduler to run the "getEmails" method on intervals.
I think we can make a catch-all mail. Then generate a unique ID for each ticket
[email protected] [email protected] [email protected]
So If he replies that unique ID we can match it with correct ticket.