Mail and news
I read mail, I read mailing lists, and I read Usenet newsgroups. I’m trying to decide on the best way to handle these three disparate entities. I’d like to use GUI clients to do these things while I’m sitting at my machine, but I need them to be accessible through text-mode clients as well, because I spend a lot of time sshed in.
Currently, I do the following:
- Read mail in mutt. My inbox is the default @/var/mail/aquarius@, which is a Unix mailbox. My saved mail is stored in Unix mailboxes in ~/Mail.
- Run inn as a news server, with suck to fetch new news to it from my ISP’s news server, and tin to read that news from localhost.
- Subscribe a different address to mailing lists, and use
groupie, an unreleased newstomail gateway, to turn those mailing lists into local inn-based newsgroups. I then tell tin that these local groups are mailing lists, and what the mailing address of each “newsgroup” is, and tin handles sending my responses to the list when I follow up a post in the “newsgroups“.
The big problem here is that I don’t understand inn. So it breaks. All the time. I haven’t actually been reading any newsgroups for about four months because inn broke and I don’t know how to fix it. So, I want to overhaul all this, and I’m looking for suggestions. I need to move away from inn, and I’d like to move away from groupie as well (since it’s not getting any maintenance, although it’s done fine for the last couple of years (nice one Kam!)).
Things I could do to solve all this (which are not necessarily mutually exclusive):
1. Move my mail storage to Maildir, and use a GUI client and mutt to read mail. Poke my local exim installation to deliver into Maildirs rather than mboxes (should be doable with a forward file).
2. Install leafnode and fetch as a news server. Grab news from my ISP with fetch and feed it to leafnode. Use any GUI news client and tin to read news.
3. Move my mail to IMAP. Use any GUI mail client that understands IMAP and mutt to read my mail.
4. Move my mail to Cyrus IMAP, and feed news into it using its news features. Send mailing lists to Cyrus too. This, however, requires an inn installation, so I don’t really want to do it.
5. Move mailing lists to IMAP (if mail is IMAP). Either implement rules in Exim to deliver mailing lists to different IMAP mailboxes, or rules on the IMAP server to deliver mailing lists to different IMAP mailboxes, or rules in each mail client (both GUI and mutt) to filter mailing lists into different IMAP boxes.
6. Move mailing lists to leafnode (if using leafnode) using MLGroups.
7. Use a news2mail service to get all my news as mail. Problem: posting is awkward.
Essentially, I have two clients (mail and news clients) and three things (newsgroups, mailing lists, mail), and I need to know where to read each. It’s pretty much possible to read them in any combination across the clients (I don’t want to read non-mailing-list mail in a newsreader), but I don’t know how best to do it. It might be nice to use just one client to read both mail and news, but there has to be two: a GUI one and a commandline one.
I’m open to suggestions on all this stuff. How do you handle this problem? I suspect a lot of people don’t have the GUI/commandline requirement, which makes it a lot easier; you just say “I’ll read it all in Thunderbird“, or something similar.
A description of my mail/news system:
All mail goes to /var/mail/aquarion, mailboxen in ~/Mail/, procmail filters it as it arrives to either get placed in ~/Mail/spam/$DATE, a variety of different local newsgroups, my mail folder and - if it matches criteria - forwarded to my mobile phone.
Leafnode2 (http://www.dt.e-technik.uni-dortmund.de/~ma/leafnode/beta/) is my news server. It - unlike leafnode1 - supports local groups. It uses leafnode’s fetchnews to fetch news from a bewildering array of newsservers across the world (Most notably the gmane (http://www.gmane.org/) server, which saves me from subscribing to an awful lot of newsgroups by converting them to NNTP for me). Any lists that haven’t been picked up by gmane (ie, I’ve subscribed to) are filtered into local groups by ‘pyg’ (Debian package, I’ve never found anything mentioning it outside debian) which Just Works ™.
The local groups are set up as moderated, with the groups e-mail address as the moderator.
Leafnode2, despite being beta, is one of the more stable pieces of software I’ve ever had the pleasure of using. The one segfault problem I’ve ever had with it I reported to the maintainer and got a patch within a couple of hours.
Accessing news is done using slrn, tin, agent or TBird with a shared .newsrc file.
Accessing mail is done using mutt locally or TBird from my desktop machine over imap, which I don’t find slow at all.
-10741 seconds later
I use gui and commandline all of the time.
GUI at home and ssh to the server from work.
I use thunderbird for mail(IMAP) and news from my desktop and I use Pine and tin for commandline.
I’d like to read all of my mailing lists as newsgroups as well as my blogs. Right now I just read a bunch of the Perl lists via nntp.perl.org
2 hours later
OK, I have been thinking about this, and I believe I have decided on the following:
Axiom 1: reading news in a mail client is difficult (requiring Cyrus IMAP+inn (bad because of inn) or news2mail (bad because posting is hard)) and should not be done.
Axiom 2: mailing lists are newsgroups, and should be treated as such.
So, I think I’m going to go for leafnode for Usenet, MLGroups or pyg for mailing lists, and either Maildir or IMAP for mail (and I can’t decide between the two, because I am short of data, other than my last unsuccessful IMAP trial (which Aquarion points out was probably not representative)). So, nearly a decision! Thanks for your help, chaps; it was useful.
17 hours later
Naturally, I’ve changed my mind.
According to http://asg.web.cmu.edu/cyrus/download/imapd/install-netnews.html, Cyrus just reads out of a news spool. So I can install leafnode to run the news spool, and Cyrus IMAP to serve the news spool, use pyg to send my mailing lists into the news spool, and read the whole damned lot by IMAP. Bonus. So, I’ll have a news server, but won’t use any news clients with it; I’ll read the lot in my mail client(s). That sounds like the approach, to me.
22 hours later
I lie. Cyrus is the news server. Don’t need leafnode. So I just install Cyrus IMAP and “suck”:http://home.comcast.net/~bobyetman/ to get the news and feed it to Cyrus. Cool beans.
22 hours later
I’m thinking that I might change my mnd again. It looks like it might be a pain in the arse to do news by IMAP — not to serve out news, but to post to newsgroups. Dammit. I liked the idea of doing it all in one client. Um, um, um, I’m open to suggestions here, all. Mailing lists will have a reply-to set to the list; to do newsgroups by IMAP I’d have to munge the created messages to contain a Reply-To of a faked email address (which would stomp on any existing reply-to, and mail munging is bad) and then route mail to that fakes email address back into the news server. That’s a big fat pain in the arse, which is tragic. So I dunno what to do now.
23 hours later
I stumbled upon your post — I don’t know if this would be relevant anymore, but I’ve been through some of the same before reaching an optimal solution (for me at least):
Gnus as the mail- and newsreader.
Leafnode to fetch news.
Getmail with maildrop to do virus/spam checks, and to sort mails into `~/Maildir`. (I like those two programs better than the more traditional fetchmail + procmail combo, but the important thing is to use the Maildir format which nice and fast).
Use Dovecot to present the Maildir as an IMAP server. Dovecot is a super piece of software — the author writes that you’re not supposed to make it segfault, even if you actively try to by poking at its files.
I guess you either love or hate Gnus, but for me it’s perfect to have mail and news combined inside Emacs.
With an IMAP server I can access my mail from wherever in the world, secured by SSL. Dovecot is very fast too, so having thousands of mails in a folder is no problem (but accessing the Maildir directly using Gnus is, so that’s another reason for me to put in this extra layer).
85 weeks later