Releases

 

Blog

 

Latest comments

About Xuheki

Xuheki started because I needed a webmail system for my own use. I won't go into details about what I don't like about other existing webmail projects, suffice to say is that I started working on this thing and decided to share it with the rest of the world. Here is a brief list of features that Xuheki already has:

  • The interface is similar to a desktop-based email client and it's completely "AJAX"—no page reloads.
  • It supports multiple IMAP servers and multiple sender identities. It tries to be smart about chosing the right identity when you're replying to a message.
  • It is designed with IMAP in mind. This has a downside—we don't support POP3, nor other protocols, but the big advantage is that it makes use of certain IMAP features which allows it to be very efficient. The engine behind IMAP operations is our Net::IMAP::Client Perl module.
  • Its architecture allows it to stay connected to the IMAP server. The IMAP operations are not handled by Apache itself, but by a Perl daemon which maintains connection to IMAP.
  • It supports multiple folders; you can also create/remove folders from a convenient context menu. You can move messages to various folders using drag'n'drop.
  • It strives to provide excellent support for MIME—properly displays HTML email and embedded images, tries hard to properly decode a message (supports, hopefully, all encodings supported by Perl's Encode module).
  • The interface is designed to allow you to do multiple things at once. For example you are reading an email, then click “reply”. While you're writing your reply, there's an incoming mail. You can simply minimize the composer and to check the new message. You can compose multiple messages at once. The UI is driven by dialog boxes.
  • It has a nice HTML editor for composing emails. The composer allows some more sophisticated functions—for example you can drag a message to the composer in order to attach it, or you can drag an attachment to the editor in order to create a link to it. If it's an image, it will be embedded in the document. When the final MIME is rendered, links to attachments will be properly processed so that any email client will be able to fetch the attachment when you're clicking such a link.
  • “Submessages” (attached messages) are treated as messages in their own right. For instance you can print an attached message, or you can reply to it, forward it or even bounce it. Oh by the way, it knows how to “bounce” messages.
  • The summary view can list (tens of) thousands of messages and allows you to simply scroll through it. No need for next/previous page buttons. And it's really fast.
  • You can print multiple messages at once. Just select them in the summary grid and select “Print” from the context menu. Use common idioms to select multiple messages (i.e. CTRL+Click or SHIFT+Click).
  • It has a basic address book and autocompletion of addresses in composer.
  • It supports basic IMAP SEARCH/SORT and THREAD operations (can filter the list to display “related messages”).
  • Of course, it supports multiple users on the same installation.

Credits

Xuheki uses a plethora of Perl modules available at CPAN. Big Thank You to all developers and maintainers of these modules! The install page lists the Perl modules that are used (and required) by Xuheki.

Xuheki logo is designed by Mark Factory.

Icons used in Xuheki are from various sources—I hope that they are free and that I'm not breaking any license by using them. I lost track of every icon I used, but most of them are from Nuvola KDE icon theme (and a minority from other KDE or Gnome icon sets). Please contact me if I you think I should mention anything else here. On this topic, I would love to have some icons designed especially for Xuheki—if you are an icon designer and would like to contribute, please contact me. Your name shall be praised, of course. :-)

Emacs and Muse

Most pages of this site (including blog entries) are written and published with Emacs Muse. Muse does a lot, but it's not enough in itself—it only helps you generate HTML from a clean syntax. I hacked some Elisp around it and wrote a bunch of Perl modules that make the task a pleasure. At some point I want to release this work, but no time for this now. In any case, major Kudos to Muse and Emacs!

Author

All of Xuheki, DynarchLIB, Net::IMAP::Client, DBIx::OO and this very website is the work of a single man—Mihai Bazon, your humble servant. I have spent a lot of time writing all this software. I did it more for fun and less for profit, but one thing is certain: I need to pay my bills.

If you enjoy Xuheki please consider making a donation. If you would like to see some new features into it, please consider sponsoring them. If you need a great AJAX toolkit, please consider buying DynarchLIB. If you need high quality consulting in DynarchLIB or generic Perl or AJAX technologies, you may want to hire me (though I'm really busy at the moment). There are multiple ways you can contact me and I'm sure you can figure this out. ;-)