[Toybox] I aten't dead.

Rob Landley rob at landley.net
Thu Oct 25 17:39:47 PDT 2012


On 10/08/2012 02:09:18 AM, David Seikel wrote:
> I recently switched over to using fetchmail, filtered through
> maildrop,
> to deliver to a local courier IMAP server, then access my mail on 
> that
> IMAP server from a variety of clients on various hardware (desktop 
> and
> phone).  Works for me.  Certainly solved my "email client takes too
> long
> to grab all the email" woes.
> 
> The beauty of this is that if some part is not working for you, just
> swap it out for some similar part.  Better than an all in one email
> client, where judging by Robs blog thingy, all of them suck in one 
> way
> or another.

The suck is ubiquitous, yes. I wash my email through gmail for the 
superior spam filtering (based on leveraging an enormous userbase so 
they can see the repeated patterns), but gmail also filters out emails 
I sent coming _back_ to me, meaning that when a list sends me copies of 
my own posts they get eaten by gmail, so i can't see if I've already 
replied to a message in a list (unless my client marks it replied-to, 
which Balsa didn't do if I replied through gmail's web interface), and 
also so that threaded views have gaps in them that screws up the 
threading in any conversation I've participated in.

Alas, I can't fix gmail's suck by patching Balsa. Or with a python 
script.

Fetchmail requires you to install a mail server on your local machine 
so it can deliver to loopback. Any program that requires a third party 
software _suite_ in order to append its output to a text file is too 
dumb to live.

To work around balsa, I wrote a python pop3 fetcher. It's fairly 
trivial:

#!/usr/bin/python

import poplib

pop3=poplib.POP3_SSL("pop.gmail.com")
pop3.user(myuser)
pop3.pass_(mypassword)
plist=pop3.list()
for i in plist[1]:
  i=i.split()[0]
  i=str(i)
  msg=pop3.retr(int(i))
  open(i,"aw").write("\n".join(msg[1]))
  print "%s\n" % "\n".join(msg[1])
  pop3.dele(int(i))
pop3.quit()

Although mostly I just let balsa download its own stuff and used the 
above to specifically delete the emails that had a line longer than 
1024 characters (which makes balsa's download abort, they now have a 
fix for it upstream). Both of them were generated by apple's mail 
client, by the way, which does not flow paragraphs.

Yes, Balsa was slow downloading, but the real delay was A) making time 
to deal with it at all (which I could do until after the 14th when my 
two weeks notice at Polycom ended), B) debugging enough to figure out 
what was actually _wrong_.

Honestly I needed a couple weeks of watching "She-Ra, princess of 
power" (it's on netflix streaming), playing Sims 3, and biking all over 
the place. Now I'm finally recovered enough from Polycom to start 
digging into my open source todo list. (I dread facing the Linux 
documentation stuff. I need to set up a git repo and figure out how to 
sign commits with an acceptable key. The key I _had_ was on the netbook 
that got stolen last month, meaning I can't consider it secure anymore 
even if they just wiped the netbook with windows to resell it.)

Rob


More information about the Toybox mailing list