0

I'm not looking for recommendations but I'd like to know how some of these types of ticketing systems work when it comes to a specific functionality. Imagine an IT or helpdesk ticket system where someone creates an issue. Within the issue one can respond / comment on the issue (one to many relationship between an issue, the one side, and the comments: the many side).

What I am curious about is the end user puts in a request (the ticket) via say a web based tool. He / she can then add comments to the ticket directly in the web tool. But here is where my question is, some of these type of systems allow you to comment directly in the automatic email that is sent from the ticketing system. Directly from the email the content of that email becomes the comment within the system automatically. Usually the system will have some ticket unique identifier within the email so that it can be sent back to the database automatically. My question is how does this work?

How do these type of systems end up mapping the contents of the email to the database record and where should this processing be done (some sort of exchange integration)? Can anyway please explain how this is setup (is there a process that just looks at incoming emails and reads the subject?), etc.

I'm looking for more specifics, as I can understand how the number is within the email but is there another program / process being run constantly to monitor email? Where is this program / process sitting? Is it talking to exchange or an smtp folder, or a folder based on a mail profile? I'd really love to see some visualization of how this works or an in depth process?

  • You already know how this works, because you already described the process in your question: Usually the system will have some ticket unique identifier within the email so that it can be sent back to the database automatically. – Robert Harvey Oct 11 '16 at 16:27
  • @RobertHarvey - That's still not enough information for me to understand how this works. I can understand within the email but is there a process on exchange or an smtp server (like another program) that sits there and inspects this? If so can someone please explain this or even diagram it out for me so I can understand this some more. I'd like to implement something very similar and I'd like to get some sort of visual or good explanation of how this works. What I posted is not enough... – JonH Oct 11 '16 at 16:34
  • What is your specific problem? Is it extracting the unique identifier from the email or saving the resulting record to the database? – Robert Harvey Oct 11 '16 at 16:35
  • Robert - I can probably figure out that part as you mentioned I have mentioned it. What I want to understand is this other "program" or "process". Is it just an executable sitting on a server reading a mailbox or a user mail drop folder? Is it sitting on exchange? Is it communicating in any way to an smtp folder? See my edited question towards the bottom. – JonH Oct 11 '16 at 16:37
  • An email repository is just another database. Does that help, conceptually? The rest is just details. You can create a background agent that does anything you want. – Robert Harvey Oct 11 '16 at 16:37
2

The information you're missing is that there are several ways to implement the functionality.

Speaking based on personal experience, sending and receiving of mails is done in a regular imap mailbox. The application then runs a cronjob regularly that connects to the box, reads messages, parses and discards or flags them. For php these mail functions are part of the core and plenty of packages exist to simplify the logic.

  • Unfortunately I've read a lot about this specifically with PHP but this is an ASP.net website...and I'm not sure this is any similiar. – JonH Oct 12 '16 at 17:24
  • The process will be similar as you're accessing the same medium. How your programming language is able to connect is a solution you have to find. – Luceos Oct 12 '16 at 17:33
0

You already figured out the important part, usually you have some sort of identifier in your response-email, for example a return-path of some-long-uuid@ticket.example.com.

But is there another program / process being run constantly to monitor email? Where is this program / process sitting? Is it talking to exchange or an smtp folder, or a folder based on a mail profile? I'd really love to see some visualization of how this works or an in depth process?

This is a question I can not answer as there is no single correct answer. There are thousand ways of doing this. You could have a process constantly fetching a IMAP or POP3 server, you could have a cronjob fetching emails every X minutes, you could have a process monitoring a Maildir or a mbox-file, you could even have your mailserver call you when a e-mail arrives. This all depends on what works the best for you. With qmail, for example, it is easy to set it up so qmail calls you (i.e. executes one of your scripts) and passes the mail through STDIN, you don't have to worry about continuously fetching and messing around with IMAP or POP3, and you get the mail right when it arrives.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.