*** 13,23 **** package require smtp package require md4 *Design Philosophy* This program is deliberately simple. It speaks POP3 and SMTP only. ! All email messages are stored in a single SQLite database for rapid ! indexing and searching. Everything is shown in a single window. I find the usual 3-window layout with folders on the left, a list of message on top, and the --- 13,62 ---- package require smtp package require md4 + *The Problem To Be Solved* + + I have several complaints with existing MUAs. They generally have + too much eye-candy for my taste. And I find them difficult to + configure and use. But my biggest complaint is that they do not + do a good job of managing historical mail archives. + + I work on both fixed desktop systems and on my laptop. I would + like to be able to check email from any system I am working on + and yet have all my historical emails archived in the same database. + To be more specific, I want to use my desktop in my office and my + laptop when I'm travelling - I want to be able to check email from + either machine - and I want to have access to the (gigabytes) of + historical email from either system. + + I have not found a good way to do that with previous MUAs. + + My other big complaint is that it is difficult to find historical + email messages. I want the equivalent of a google search for + my email archives. + *Design Philosophy* This program is deliberately simple. It speaks POP3 and SMTP only. ! All email messages are stored in a single SQLite database. ! ! The use of a single-file SQLite database allows me to easily move ! the data from laptop to desktop and back again as I move around. ! Furthermore, each email message is saved with a universally unique ! hash so that even if the two databases diverge, they can be easily ! resynchornized with each other. ! ! The use of an SQL database makes searching much easier as well. ! As each message is inserted into the database, every work of ! text in the message (and in the subject and several other header ! lines) is indexed. This makes searching for old emails using ! keywords very fast, even with thousands and thousands of messages ! consuming gigabytes of space. ! ! The current user interface will certainly not win any design awards. ! It is ugly. But it is functional. And functionality should come ! first. Beauty is nice to have too, and I would welcome any patches ! or suggestions to improve the appearence. But functionality needs ! to be the overriding principle. Everything is shown in a single window. I find the usual 3-window layout with folders on the left, a list of message on top, and the *************** *** 31,35 **** support text/html because I find that most HTML email is spam anyway. Anybody with something interesting to say usually sends plain text. ! _I have lots more to say about this, but other tasks call me away. ! I hope to return an complete this wiki page soon..._ --- 70,91 ---- support text/html because I find that most HTML email is spam anyway. Anybody with something interesting to say usually sends plain text. ! *Implementation Notes* ! ! Tcl/Tk was used with Tcllib to simplify development. ! ! The source code was original composed in multiple *.tcl files which ! are concatenated (in no particular order) to generate the finished ! program. ! ! You can interactively change the running Tcl/Tk code using ! the "Tcl Proc Editor" available under the "Debug" menu option. ! You can also interactively type Tcl/Tk commands using the built-in ! Tcl console, or interact with the SQLite database using the built-in ! SQL console. Both consoles are also available under the Debug menu. ! ! *Comments Welcomed* ! ! As of this writing, the program works well enough that I am now using ! it for all of my personal and business email. But there is, of course, ! much room for improvement. Suggestions and/or patches are welcomed.