exporting from kmail (Was: Kmail2/Akonadi issue on FreeBSD.)

Duncan 1i5t5.duncan at cox.net
Wed Nov 30 01:23:13 GMT 2011

gene heskett posted on Tue, 29 Nov 2011 13:58:11 -0500 as excerpted:

> On Tuesday, November 29, 2011 01:38:04 PM Duncan did opine:
>> Martin (KDE) posted on Tue, 29 Nov 2011 07:44:18 +0100 as excerpted:
>> > I had similar problems about ten years ago and my solution to this
>> > was setting up an imap mail server. With this I do all my filtering
>> > on the server and I am free to use any client I want - kmail and
>> > thunderbird on linux - thunderbird on windows - k9mail on android -
>> > native mail program on ipod-touch - any other imap aware client you
>> > can think of
>> Well, the OP in this thread is using IMAP and the new kmail is still
>> causing him problems...
>> > All these clients gets the same filtered mails. Isn't this an option
>> > for you?
>> Yes and no.  My mail providers don't offer it, and I could run my own,
>> but there's little point, as I don't have but the one place I do mail
>> anyway, and even if I did run my own IMAP server, I'd still have to
>> find a mail client I was comfortable with to access that IMAP server
>> from the one location, so why even bother, when a good mail client
>> bypasses the need for me to run such a server entirely?
>> OK, so after nearly a decade of kmail working just fine as that mail
>> client, until the devs decided they couldn't leave well enough alone, I
>> found I needed another solution.  But again, if I'm ultimately going to
>> need a client I'm comfortable with anyway, why complicate things by
>> throwing in an IMAP server when the client I'm going to need to be
>> comfortable with anyway can deal directly with my providers' POP3
>> servers?
>> Actually, throwing in extra functionality I don't need and that only
>> complicates things sounds like a rather familiar idea!  I wonder where
>> I might have heard that before?  Oh, yeah, that's why I was in the
>> situation in the first place, because the devs couldn't leave an
>> unbroken kmail unbroken!
>> Oh, well, I guess I should count myself lucky that I got that nine
>> years out of it.  Not so much software works that well for that long,
>> and if claws-mail serves me another nine years, I guess I'll be as
>> happy with the lengthy usefulness of my choice as I am currently with
>> its functional practicality. =:^)
>> > Btw: I once tried claws-mail as well, but this program did not fit my
>> > needs. I currently use SOGo as groupware server besides my cyrus imap
>> > server and afaik only thunderbird and kmail2 are able to handle
>> > CalDAV/CardDAV correctly (on Linux). I no longer want to handle
>> > addresses and appointments in different programs separately.
>> My situation is /vastly/ different from yours.  Mobile phone and/or
>> internet simply hasn't yet fit my cost/benefit profile, and the
>> proprietary equipment choices don't help.  Android's close enough to be
>> acceptable if the price was right, but as I said, I've not yet seen it
>> right, and unfortunately, the mobile-providers are moving away from
>> unlimited Internet again now, so the situation isn't likely to get
>> better out to at least the medium term.
>> And while I do have a netbook (gentoo/kde, built in a 32-bit chroot on
>> my workstation and ssh-rsynced), I really don't use the "net" bit of
>> it. Very close to 100% of my internet activities are on my workstation,
>> dual 1080p monitors, etc, so I really DO have little use for IMAP.
>> Sure, I could run an IMAP server on localhost, but as I said, it's all
>> single- point local anyway, so it might as well all be in the client,
>> which I'm going to have to be comfortable with in any case.
>> And I don't need an organizer/scheduler/calendar/groupware/nntp-client/
>> feed-reader/mail-client/im/irc-client/singing-baboons/dancing-monkeys-
>> l- in-one!  In fact, I don't need an organizer/scheduler at all, and
>> I'm more comfortable with async-style email, mailinglists and
>> newsgroups than sync-style im/irc, so I don't need those, either.  I do
>> use email, mailinglists, newsgroups and feeds, but I prefer separate
>> clients or at least separate instances of the same client, for each of
>> mail, lists, groups and feeds.  As it happens, I now have separate
>> instances of claws for mail and feeds, and separate instances of pan
>> for news and lists, so I'm pretty well set.
>> Some folks /want/ it all combined, as in konact, and that's fine... for
>> them.  But it's not for me!
>> It's just too bad that kde now lacks a reasonable mail-only client (and
>> news-only client and feeds-only client, all three, but SEPARATE), even
>> if independently developed, without the heavyweight cost in terms of
>> resources, reliability and single-failure-point of akonadi.  I do
>> understand the idea of shared functionality and reduced code
>> duplication, and for folks who want it all combined in one interface
>> and can tolerate the single-point-of-failure and reliability issues,
>> whether that's because they use server-based technologies or whatever,
>> akonadi and kontact may be WONDERFUL.  But here, I just want my simple
>> to use and reliable separate apps back!
>> Maybe someday an independent kde dev will come along and start a "just
>> does X" client for each of those three Xs.  Maybe not.  If I'm lucky,
>> tho, they'll be started right away, and be reasonably mature and ready
>> for use when claws jumps the shark like kmail did, tho hopefully that
>> won't be for a decade or longer, if ever.
> Interesting that you say claws, but this post came from the pan
> newsreader according to its headers.

There were clues to that explanation in the previous mail, but they were 
indirect enough that someone who wasn't familiar with the service might 
have missed them.

I handle all my lists thru gmane.org, a publicly available list2news (and 
list2web, with a convenient-for-link-references header in each news 
article pointing at the web version) service, and use pan as my news 
client, so pan's what I read and reply to list messages with.  My email 
client thus only deals with normal, personal mail, not mailinglists.

You can read more about it at http://gmane.org .  The list2news server is 
at nntp://news.gmane.org .  You can read as news any list it carries, but 
before replying to anything using it, do read up on it at the website, as 
the mechanism it uses for posting is sort of like posting to a moderated 
newsgroup, but with an "are you sure" address verification on the first 
post to a particular list, and then a forward to the listserv -- it only 
actually posts the message to the group after getting it as a list 
message, just like any other list message.

I don't actually do much real news these days, but when I do, I use a 
separate pan instance, complete with its own settings, for handling news, 
as compared to the one I use for lists thru gmane.  Thus, as I said in 
the previous post, separate apps or at least separate instances of apps 
for each of mail, lists, news and feeds.  As it happens, I use separate 
instances of pan for lists (thru gmane) and news, and separate instances 
of claws for mail and feeds, but I did go to the trouble to setup 
separate instances, it's not one instance handling both, so they act more 
like four separate apps with similar keyboard accelerator settings (I 
have the keyboard accelerators setup similarly in each), than two apps 
each handling two tasks.

> What I would like to do is start a conversation with someone who has
> bailed on kmail & went to claws, and see just how hard it would be to
> convert my box to that, including the importation of the whole, several
> Gigabyte, some of it now approaching 10 years old, kmail email corpus
> into claws.  All the while continuing with my present fetchmail based
> system to deliver the filtered email into /var/spool/mail/gene.

> I have a lot of claws installed already, so the first thing is to import
> the kmail email corpus into claws.  And on that point, I have no clue,

I see two other suggestions already, (1) setting up a temporary IMAP 
server to grab them and then pulling from that into claws, and (2) using 
mutt to do the conversion.  However, I used a third solution, (3) running 
the script for that purpose as available on the claws-mail site.  It 
should be easy to find as it's listed as a kmail maildir importer script.

I used a (different) script, also from the claws-mail site, to import 
kmails/kaddressbook's addressbook/contacts into claws-mail.  But it's 
labeled as an evolution vcf-format addressbook importer.

Unfortunately, both of these were somewhat old and needed a bit of 
massaging to work with current kmail data.  I should note that I don't 
actually know either python or perl (the languages the scripts were 
written in), but know bash and have a sysadmin's "maybe I can hack it to 
work" level familiarity with everything from C/C++ to perl/python/tcl/tk/
javascript to html.  That sysadmin's "can I hack it to work" approach was 
all I needed.

I think it was the maildir importer that was written in python, but it 
was python 2.2 or some such, and didn't initially work with the python 
2.7 I'm running here.  IIRC I first had to change the shebang line (#!/
bin/python...) to point at 2.7 instead of 2.2 but that was no big deal.  
That got it to try to run, but it spit out some errors.  Looking at them, 
I had to change a keyword or two and possibly rearrange the passed 
variables in a couple of calls.  That's certainly hacking at a level 
that's beyond some, but it should be doable with a bit of patience and 
persistence by anyone with as I said, a sysadmin's "can I hack it to 
work" level of understanding and approach to their boxes.

Based on what you have said before about your setups and the hacks you 
use to get them to work, I'm guessing it's within your capabilities.  If 
you understand shebang, that part's easy enough, and once past that, if 
need be, you can post the errors and I or someone can probably figure out 
what's going on and post a fixit mod.

Or, since I think a couple of your boxes are running older installations, 
it's quite possible you won't have to make any changes except possibly to 
the shebang, if you're running python 2.4 or some such.

I've been kicking myself ever since I got claws up and running, wishing 
I'd been a bit more careful with my changes to the scripts, so I could 
submit them as patches back upstream for others to use.  Unfortunately, I 
was rather shortsightedly simply trying to hack something that would get 
the conversion to work at the time, and wasn't thinking about submitting 
the fixes back upstream. =:^( <kick, kick.  Bad bad boy, duncan!>

That's what I used, but given the necessary hacking, the temporary IMAP 
server or mutt conversion methods sound like they might be easier.  
Definitely YMMV on this one!

The addressbook/contacts may in fact be easier to either import by hand, 
or leave as the *.vcf files that akonadi can export (I used a command-
line tool akonadi ships for that, but don't remember its name, and I 
/think/ it can be done from the kaddressbook GUI as well, also note that 
pre-akonadi kaddressbook apparently used vcfs, one per contact, and if 
you upgraded from kde3 or pre-4.4 kde4, you probably still have those 
around... but they're one per contact, which isn't ideal for mass 
importing).  Claws can sort of use these directly, but at least here, 
they appeared read-only and as presented in claws' GUI, clearly weren't 
in its most usable native format.  So I went ahead and tried the 
evolution vcf importer conversion script on them.

Unfortunately, this (perl) script required a bit of hacking as well.  
It's also old, but perl has apparently stayed more compatible with this 
script than python had with the other one, and it would at least try to 
execute without any changes at all.

But the vcf format it expected was somewhat different than what was in 
the vcf files exported by akonadi.  The script's a decade old IIRC, for 
2001 era evolution, and some of the field identifiers expected by the 
script didn't correspond to what akonadi had used in its export.  But by 
comparing what the script source expected with what was in akonadi's vcf 
files, I was able to hack one into the other at least well enough to get 
the script to import the names and email addresses.  For most of my 
contacts, that's all I had anyway, so I don't know whether it messed up 
the rest of it or not, but it did import names and email addresses OK, 
when I was done.

I guess some more kicking is in order here, tho I know I still have that 
vcf and could still figure out what I hacked and submit the patches 

But, if you don't have that many contacts anyway, perhaps just manually 
transferring them is easiest.

Or, they can probably be gathered off the mail once that's converted, if 
you wish to go that way.  I didn't try that.

Or just be happy with claws' handling of the vcfs as they are...

Or, if it's kmail you really want to be rid of and you don't mind the 
akonadi-based kaddressbook hanging around for awhile, just continue using 
it for now, populate the claws addressbook from emails as you go, and if 
desired in six months or a year or whatever, choose a flagday to convert 
or dump whatever's left in kaddressbook and be rid of it then.  The 
biggest factor for most will be the email itself, since that's what's 
causing the problems, and once it's gone, some people may be just fine 
with keeping kaddressbook and akonadi around and doing an individual-
contact-need based conversion.  But at least here, once I was off of 
kmail, I wanted all traces of that akonadi troublemaker off my system, 
and went to all necessary trouble to make it so.

Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman

This message is from the kde mailing list.
Account management:  https://mail.kde.org/mailman/listinfo/kde.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.

More information about the kde mailing list