Dear fellow programmers,
In my company we are using, amongst other software, a crm solution. Over time we have noticed that we do not actually keep an address book of clients, but we rather use it as a customer xuppost application to receive emails and assign different issues to different customer support personel, or developers to get customer questions answered.
So what we would like to do is write our own piece of sofware that:
1. get's email from users
2. checks to see if the sender's address is present in our customer account's database table and if the answer is yes then link it to him/her, so we can keep track of what a customer has asked in the past.
3. we also want to record who answered this
4. and we also want to reasign questions from one customer support personel to the other (if the email is for instance, in spanish, then a non spanish customer support person will reassign it to a spanish speaking customer support person, or if the question is lets say to technical to anser, to a developer.)
5. we want a reply functionality, and
6. a close this issue feature.
How do you suggest I would implement it? Should I get all email from our email server (KERIO) and store it in our database? Should I find some sort of API to communicate with KERIO and just link an email with a user and each time I want to display it request it from KERIO? I actually do not see any other way, than get all email from Kerio and then store it in our database.
Writting the code to send email is dead easy, but parsing it on demand? Where do I start? Should I create a separate database or incorporate it to our existing one (i do not see any reason not to go with the latter option).
My headache is that I already have an email server to store email into. Should I keep it on my database? Too much duplication?
Maybe the answer is easy, but I am feeling a bit lost. The whole issue is to track which customers ask questions, keep a history. Because right now we need to search by email. Users register using a "Username", so the only way to find who is who is by asking them their username, or compare their email we got from our current CRM to the one in our database. And then there is the issue of history. We already have a custom made application that displays every detail of the user, so we want to add email correspondence to it.
Any ideas, how would you go into implementing this? has someone done this before?
Thank you in advance.