Hi, I've been using nmh since about September as my main mailer. I'm quite pleased with the implementation as it follows my general desires in a program, which is, to not be in my way, and to be accessible via the command line. This is why I'm involved with the XMMS2 project, as it provides a very powerful music player that runs as a daemon and is both easily programmable (clients are easy to write, with bindings for the client library in a variety of languages), and with a command line client in the base distribution.
Back to nmh; I've run into a few annoyances and have made, or been working on solutions to deal with them. The first is better handling of non text in mhshow, which I imagine most people have good solutions for, so I won't share. Other issues I have run into are that I do not much like having to write out full mhbuild lines to send attachments properly. So I wrote a simple Python script to replace ``remime'' lines with proper mhbuild lines and then execute mhbuild. remime is not very powerful, it's not intended to be. It takes a filename, and uses magic to determine a description and a mime-type and then constructs an mhbuild line with that information included. Something like #remime: /home/alex/mh.png becomes #image/png; name="mh.png" <>[ PNG image data, 1400 x 1050, 16-bit/color RGB, non-interlaced ] /home/alex/mh.png. remime becomes the buildmimeproc. You can take a look at remime here: http://people.FreeBSD.org/~alexbl/remime It requires the Python bindings for libmagic which come with the file distribution. I have been working on two other things with varying degrees of success. One is a gpg signer and verifer. I've not found any acceptable solutions for gpg signing my mail, and worse, I have found that multipart/MIME messages signed by exmh can often times not even be verified (I recently had to submit ssh key and master.passwd line for a new FreeBSD committer, which I sent via exmh, where verification of the signature failed.) I've not had too much luck with this one since it needs to be done after the mhbuild phase, and all of my attempts seem to turn out badly, so any advice on this one would be much appreciated. (NB. My desire is not to use Exmh in this case, I just figured it would be ``safe.'') The next one I imagine will be a bit controversial. I've been working on a replacement for pick which works by picking on an index generated by the inc(1) process. (In this case, python wrapper around inc which parses the scan output and inserts header information about each mail into a sqlite3 database.) The idea being that while I like being able to manipulate my mail directly, searching it is tedious and slow. With a sqlite database backing the search the speed of these operations will be helped a ton. The largest concern is implementing the complete feature set of pick (and hopefully more, I hope to get FTS as well), and being able to keep the index up to date without removing a lot of the flexibility offered by MH.) I like being able to manipulate mails directly if I feel like it, so I intend to maintain this behavior. Oh, I also have a somewhat sketchy script which reads in all the msg-ids from my imap accounts inboxes, and all the msg-ids from my MH folders and removes messages from imap accounts that aren't in MH folders (a way to sync what mail I have locally with what I have remotely). With this I can more or less use a regular imap or webmail client when I need it without opening up an 11k message inbox or losing the ability to keep the mail on the server. It curently only works on imap inbox, but I hope to extend it to actually synchronize folders in the future. Anyway, any comments on the various stuff I've done are much appreciated, nmh is the mail program I've dreamed of forever, so thanks for making it possible. Alexander Botero-Lowry FreeBSD Ports Committer & XMMS2 Developer _______________________________________________ Nmh-workers mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/nmh-workers
