The Helpdesk::Mail System is a Perl application intended to assist Helpdesks and Support Centers in organizing their email communication with their customers. Especially if there is one email address (for example <firstname.lastname@example.org>) and several people who reply on those emails and answer questions, Helpdesk::Mail can come in handy.
But Helpdesk::Mail is not just another webmail application, one can assign a "user-id" for a mail (for example an account number) to track down how often one user asks for help (and what your coworkers answered), plus an additional "Knowledge Base" feature: if your customers ask the same questions over and over again, you can save the answer in the Knowledge Base and prefill a reply with this answer, just by typing in some keywords and click on a link. (Of course, there's a public interface to this Knowledge Base, too, so your customers can search for answers on their own, if they want - and if you filled the Knowledge Base with answers :-) ).
Emails coming to your support email address are piped into the parser.pl script, parsed into several parts and stored in a database. Attachments are stored in a user-defined directory. An additional autoresponder can send out auto-generated replies to the incoming emails, telling the sender for example that their mail has been received or when your office hours are. Support workers can now connect to the system and read the mail via browser. The main page list all new incoming mails and all mails that one support worker has decided to handle (see below).
On the mail reading page, one can read the mail (of course), assign a user id to this mail (either by entering it in the textbox or by selecting it from several pre-defined user-ids like "info", "spam" a.s.o), reply, forward or trash the mail or search for an appropriate answer in the Knowledge Base. Additionally the support worker can "take" the mail out of the pool of incoming mails, so that the others won't see it anymore, or pass the mail on again to the pool.
When replying on a mail, one can select if this reply should be saved in the Knowledge Base, too. When forwarding a mail, one can select if the original sender should get a notification message about the forward. Additionally, outgoing messages can be GPG-signed. (All outgoing messages are BCC'ed to your email address again by default.)
One additional feature is that outgoing messages get a special subject, which indicates who of the support workers replied or composed the mail, so that incoming replies on this mail will be easily identifyable to other support workers. Plus, if it was a reply on a mail and you assigned a user-id to this mail, another reply with the intact subject line will get this user-id to.
If you decide to save a mail in the Knowledge Base, it will be parsed and split into "Question" and "Answer", based on the quote string "> ". Knowledge Base entries will not be visible on the public interface until you edited it (because you won't likely want to publish questions and answers directly) and published it. Each Knowledge Base entry can be edited again and again and, of course, trashed.
- Apache Webserver
- an MTA (I tested only with sendmail, but others like qmail or postfix should work, too)
- the following Perl modules:
Nothing, it's freely distributable. But remember: it may work alright, but it's still in development stage.
- Deleted mails can now be undeleted again and put back into the Inbox.
- Fix in Auth.pm to suppress error messages when not using Apache::DBI.
- Small code clean-ups.
- Added an autoresponder... well, sort of. This feature is not very well implemented, but should work and not produce too many bad things like mail loops or responses to mailing-lists.
- Minor bug fixes.
- Added a simple templating mechanism for the Knowledge Base to make it easier to integrate the public Knowledge Base interface into existing corporate site designs
- Added support for different "From:" addresses of outgoing mails (useful if one helpdesk handles requests to multiple, unrelated domains)
- Mail sending method can now be set in Config.pm either to a local MTA like sendmail, qmail, postfix etc. or to a remote mail server
- Minor bugfixes and code cleanup
- Seems like I hosed the last release,... I forgot to update a vital file, so probably Version 0.2 could not be installed :-(
This release should fix the errors. Please report any problems ASAP. Sorry, folks!
- Split the big main script into several parts (make it easier to read, easier to maintain and easier to update)
- Add an option "Keep original in Inbox"; when checked, answered mails aren't deleted out of the Inbox but their table row gets a different background colour (to distinguish them from "new" mails).
Sure, I always need a helping hand.The TODO list:
- Find out if MySQLs new FULLTEXT INDEX feature works as expected
- Tweak the knowledge base
- Code cleanup
- Better documentation
- Install script
- User Interface Design