This version fixes a couple of bugs introduced in the last version.
This version fixes a couple of bugs in the daemons that had prevented operation with mutt and could lead to infinite loops while receiving mail. It also replaces the three tables for to, cc and bcc addresses with a single 'recipients' table, which simplifies much of the database.
The server which runs this website, including the demos, will be replaced at some point over the next couple of weeks. Hopefully the new machine will be able to offer a better demo and a more responsive forum. In the meantime, appologies for any downtime.
The code has been substantially re-organised in this version; there are several new features, but probably also plenty of new bugs. Please test it out and report what you find. The main new features are: message sorting (click on the column headers), popup menus (click on the triangles), a "find mailboxes" field, a login dialog, printing, "view as text" for unknown MIME types, and more.
This version introduces a change that will make Decimail better suited to multi-user environments. When a user logs in to the IMAP server a set of PostgreSQL views is now created which filter the database down to only that user's messages. The individual mailbox queries, which have been re-written in terms of these views, now don't need to filter based on the owner of the message.
This version finally adds tsearch2 free-text searching of message bodies. The first 32k (by default) of the first text part of each message is indexed when the message is received. You can then find messages by creating mailboxes under Keywords/ with names that are tsearch2 expressions that the message must match.
This version adds a completion feature to the To: and Cc: fields in the message composition window. For this to work your IMAP server needs to understand the XCOMPLETE extension, which I have just invented, and is currently provided only by Decimail Server. I'm going to write this up as an RFC though, so maybe some other IMAP servers and clients might use it one day.
There is also a bug fix for drag-and-drop, and a new tab to show only the headers of a message. There have also been some small changes to increase the still-small chance of it working with browsers other than Iceweasel.
This version adds two new hierarchies to the actions framework. Mailing lists are now managed by this system, as are spam folders. Randomly-allocated anti-spam email addresses are now logged so that they can be re-used for further messages to the same recipient, and real names and emails are logged to support auto-completion of addresses when composing messages.
There are also some significant internal changes, as I have overhauled the libpbe PostgreSQL interface. This version should therefore be considered a bit experimental, though in the longer term this revision of the database interface should make the code more reliable and slightly faster.
This version tidies up the appearance of the display, with a smart-looking mailbox tree at last. This tree is now correctly updated after creating, renaming and deleting mailboxes. Other improved areas include the menubar, the attachments table, the composition textarea and the message part tab list. There is now a "hint of the day" feature, and the format of outgoing dates has been corrected.
I have finally spent the time to get Postgresql's text search extension, tsearch2, working with Decimail. Messages' subjects are now indexed by tsearch2, so you can create a mailbox called "Subjects/Beer|Pub" and it will automatically contain all messages containing either of those keywords. This is released as version 0.10. The changes to the Decimail code are minimal, but if you're upgrading you'll need to load tsearch2 into your database; upgrade instructions are in the usual place. All users will want to look at the tsearch2 documentation to understand how to use this.
There are also some IMAP syntax fixes.
This version adds sliders that allow you to adjust the sizes of the various elements of the display. It also improves support for quoted-printable and base64 encodings in incoming and outgoing messages.
This version adds crude support for sending attachments, using a Mozilla hack to read files from the local disk. It also finally implements Delete, puts a citation at the start of replies, marks replied-to messages as such, binds keys to common functions (e.g. "r" for reply), and fixes various bugs and misfeatures.
This version adds support for the composition, viewing and quoting of format="flowed" messages, and attempts to cope with character sets other than the default Unicode. I don't have many excuses for not releasing a Beta now, so don't be scared of trying it out.
Some attempt is now made to sanitise HTML emails, offering some protection against messages that include Javascript or embed content (such as images) from remote servers. I would be grateful for any suggestions about this important code. Images and unknown-type attachments now have download links.
It's now possible to copy messages between mailboxes using drag and drop. It's a bit crude at the moment, but it works. Try it out in the demo.
This release makes a small change to correct the syntax of the response to an IMAP command that requests one part of a multipart message.
This version adds a crude menubar with basic commands for creating, renaming and deleting mailboxes. Some IMAP bugs have been fixed which make operation with the Dovecot IMAP server possible.
An online demo of Decimail Webmail is now available. Try it here.
This version decodes messages in quoted-printable encoding, and displays attached images using data: URLs.
This version adds some support for multipart MIME bodies. Tabs are shown above the message body allowing you to select between the alternatives.
The new webmail continues to gain more features, and I'm now using it as my main email application. The mailbox tree now expands and collapses correctly and there is some effort to render the message body depending on its MIME type.
This release is mainly a bugfix release, correcting some syntax errors in IMAP responses. Also, per-domain mailboxes have been made more efficient; they can now use a PostgreSQL index.
The Decimail website has received an overhaul. Most of the words remain the same, but the structure has been adjusted to give Webmail more space. The appearance has been tweaked and a forum added. Please visit the forum and be one of the first to say hello.
This version adds the ability to actually send messages. The daemon has been expanded to proxy between HTTP and SMTP, as well as IMAP. I feel a Beta release is getting closer!
This version adds more functionality. I'm not quite able to use it as my main email application yet, but it's getting closer; there is a basic compose window but pressing Send doesn't actually do anything. The mail reading interface is looking quite respectable, apart from the lack of MIME decoding.
The first alpha release of Decimail Webmail 3 has been released. This version lacks many important features. I'm following the advice of "release early, release often" in the hope of interesting others in the project.
This release mainly adds missing features and fixes bugs that had been making IMAP operation with some webmail programs difficult. In summary, RoundCube is broken, IMP is so complex to install that I gave up, and Dolda Webmail can be made to work with some patching. Get in touch if you'd like more details.
I'm now using Decimail with PostgreSQL version 8.1. This upgrade didn't need any changes to the SQL. To make operation in a system with multiple PostgreSQL systems possible, the database connection information can be supplied to the daemons on the command line.
This release adds three more example mailbox hierarchies using the Actions framework: you can now create mailboxes to group messages by the sender's domain name, by the message's subject, and based on arbitrary labels.
Hopefully a long-standing bug has now been fixed. The IMAP daemon used to get into a state where it consumed 100% CPU, while apparently still functioning normally. This should now have been fixed.
This version has a number of significant changes.
The most important new feature is the "Actions framework". This allows SQL code to be called in response to mailbox creation commands and message copying from the IMAP client. An example application of the framework that allows you to populate a People/ mailbox hierarchy interactively has been implemented. Additional applications will follow.
Subversion is now being used for source code control, and the Decimail source code is now available exclusively using Subversion. Not creating tar files saves us time which should make more frequent releases possible; it also makes it easier for us to accept contributions from other developers.
Decimail has also moved from omni_thread to boost_threads. This is a rather experimental change and may lead to some temporary instability.
This adds an optional daemon that deletes the backup copies of messages that you've deleted from the database, as well as some minor bug fixes.
This fixes some installation issues that have been reported, including two missing files. Also, configuration variables are now stored in the database and include port numbers for the daemons to listen on.
This fixes a couple of important bugs. A syntax error in my IMAP output made it difficult to delete messages; this is fixed. Missing return-value checks in the SMTP daemon could allow it to loop forever if the client misbehaved. Try it now!
Welcome to decimail.org! Today the domain was registered and this web site published for the first time. Please read about Decimail and if you're feeling brave download version 0.1 and try it out.
I've also moved my webmail program here. You don't need to be particularly brave to try that out as it's been working reliably for a couple of years now.