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

Duncan 1i5t5.duncan at cox.net
Fri Dec 2 14:49:59 GMT 2011

gene heskett posted on Wed, 30 Nov 2011 00:53:16 -0500 as excerpted:

> On Wednesday, November 30, 2011 12:52:24 AM Duncan did opine:
>> gene heskett posted on Tue, 29 Nov 2011 23:01:23 -0500 as excerpted:
>> > I may have hit what is almost a show-stopper with claws.  There
>> > appears, from the .pdf of the docs I found, no way to have another
>> > script send it a check mail command.  And while I did find an
>> > auto-check option in the preferences menu, it doesn't read as doing
>> > what I need it to do, or the docs maybe are a bit old?  kmail from
>> > 4.6.5, even from the 3.5.0+, has had a dbus socket that works very
>> > well indeed using this line from my ~/bin/mailwatcher script:
>> > Cmd define (word wrapped):
>> > Cmd="/usr/lib/qt4/bin/qdbus org.kde.kmail /KMail
>> > org.kde.kmail.kmail.checkMail"
>> > 
>> > Invocation later in the script after having verified that kmail is
>> > indeed running and there is new mail in /var/spool/mail/gene:
>> > $cmd
>> > 
>> > Is this dbus port indeed on the missing list?
>> I'm not aware of a dbus command for it -- that doesn't mean it doesn't
>> exist, I just never looked for it, but there's definitely a scripted
>> solution possible, as claws, like many mh-format mail clients, is
>> designed with exactly that sort of scripted extensibility in mind.

> Thanks Duncan, now I have something to look forward to.

After looking into it... it could hardly be simpler, so much so I feel a 
bit like an idiot for not immediately suspecting and verifying this for 
my earlier reply.  Excerpt from claws-mail --help (and also covered in 
the claws-mail manpage):

Usage: claws-mail [OPTION]...
  --receive              receive new messages
  --receive-all          receive new messages of all accounts

Now the commentary...

As I've mentioned previously, claws-mail uses a Unix socket for instance 
syncing.  Thus, when invoked with the above command, it'll check the 
socket and if it finds an existing claws-mail instance listening on it, 
it'll simply pass on the command over the socket.  Now days, that 
executable-binary-to-executable-binary communication would likely be done 
over dbus, but of course this setup was implemented long before dbus 
existed, so...

In regard to receive vs receive-all, it can be noted that claws has a 
notion of current account that I'm still getting used to.  When you setup 
accounts, you select one (normally the first one setup) as the default, 
and that's the current account unless you've changed to a different one.  
The simple --receive option just checks that one, I think, while
--receive-all checks them all.

But I just read back thru that long thread we had on your mailcheck 
script, and it reads as if you have everything pulled into the mail spool 
before your mail client ever even gets involved at all.  It may be that 
you only need a single receiving account as a result, and simple --
receive will work for that.

(FWIW, claws does have the concept of send-only accounts as well.  So 
it's quite possible to have only one account with receive setup, 
presumably as the default, and a bunch of send-only accounts, if you need 
them.  Also, on my feed-reader instance, I have only a single "fake" send-
only account setup for mail, since claws seems to need at least that, and 
then have the feed plugin setup too, of course, with its separate 
folders.  Since I've only setup a fake account with it, I don't have to 
worry if I accidentally hit "reply" to one of the feed articles, since it 
couldn't go anywhere anyway.)

As for auto-checking, in preferences under receiving, there's two 
checkboxes, one to check mail at startup, and one to check every N 
minutes.  Then each account has a checkbox for including it in the auto-
checks, or not.

If all you have is local accounts anyway, so you're not abusing a remote 
server with unnecessarily frequent checks, couldn't you just set your 
mail client, claws-mail or for that matter, kmail, to check for mail 
every one minute?  Then you shouldn't need the script at all.  But it's 
entirely possible there's something in your setup that's either not going 
to allow that, or that you have both local and remote accounts, and 
wouldn't want to set checking every minute, in ordered to avoid abusing 
the remote accounts.

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