Exec'ing a script from Cyrus when imapd has a client

Greg A. Woods woods-cyrus at weird.com
Thu Nov 12 13:47:04 EST 2009


At Sun, 8 Nov 2009 06:54:30 +1100, Bron Gondwana <brong at fastmail.fm> wrote:
Subject: Re: Exec'ing a script from Cyrus when imapd has a client
> 
> On Sat, Nov 07, 2009 at 11:08:31AM -0500, Greg A. Woods wrote:
> > 
> > Just get a forwarding alias installed on the remote mail server and then
> > you'll be using the MTA to move your mail in a robust, secure, and
> > fail-safe manner to the IMAP server where you desire it to be finally
> > delivered.
> 
> Maybe unreliable network connectivity?

That's _exactly_ where you want to use SMTP or some other store and
forward mechanism to create a robust and reliable mail transport link!

Use SMTP to breech the unreliable link!  It's safe, proven, and designed
for that very task!


>  A dynamic IP where they don't
> want a stale DynDNS pointer to cause someone else to get the mail?

Well, amateurs can and will run whatever hacks they want, and they're
not usually interested in doing the kinds of things necessary for
production systems in the first place either.

Further, if anyone is stupid enough to try to use dynamic IP addresses
where static IP addresses are REQUIRED for proper functionality and
robust operations then they get every problem they deserve and I have no
interest whatsoever in catering to any of their hacks and abominations.

Use proper client/server protocols for dynamic IP clients!


> Pull vs Push in the abstract is an age old question that never has only
> one answer, much as you are trying to paint it that way.

Well, in Internet e-mail delivery there has always been one and only one
answer to the push vs. pull philosophy.  I'm only talking about e-mail
here.

Fight the way e-mail has always worked and you have to fight the whole
infrastructure and use fringe tools with known risks and problems.

If you want your e-mail to work reliably then you have to work with the
existing infrastructure and with the tried and tested tools that
designed and implemented to work that way.

Note how even in SMTP the proposed mechanisms for pull-like
functionality have been lost, broken, and forgotten forever, and even
there, like in UUCP, it's still fundamentally store-and-FORWARD even if
the client makes the call.  Nobody has _ever_ made "pull" work for
e-mail in any significant widely accepted and implemented way.  To that
extent history and experience have proven that your age-old question
does in fact have only one good workable answer.

Note that the final last-hop fetch done by the likes of POP and IMAP is
not a "pull" mechanism -- they switch the whole paradigm to client/server.


> > The rest of this is kinda just BS about how to use a proper IMAP client.
> 
> Er, you know a perfect IMAP client?  I've never been able to find a good
> one, which is why I use offlineimap to local Maildirs and mutt to talk
> to them.

I didn't say "perfect" -- I said "proper".   :-)

Mutt is not a proper IMAP client so far as I can tell, for example.

Pine, Emacs Wanderlust, Thunderbird, Apple Mail, etc. are all "proper"
IMAP clients in most respects, I think.  Pick your poison.  :-)


> Ahh, I see.  Fetchmail screwed your dog and pissed in your cereal.

No, not me -- I've seen dozens of others screwed by it though.  It does
nothing good for e-mail.


> Rumour has it that offlineimap supports running an IMAP server
> locally and synchronising changes in BOTH directions, with the
> help of a little on-disk-database to keep track of who changed
> what.

Yes, back to a more proper client/server paradigm.  No messing with
protocol layer violations is necessary.

(offlineimap does sound like a rather crazy idea though -- why not just
use a proper IMAP client that properly supports a true offline working
mode?)


>  I don't use it because last time I did it was still buggy
> and new, and now I'm wary.

And you would use/recommend fetchmail instead?  Talk about a
fundamental contradiction!  :-)


> This whole fetchmail thing is a tangent.  Implementation detail.

Sort of.  Anything in its class is at question.


> The important thing was pull versus push and how to trigger the
> "monkey with a modern email client" equivalent of a copy between
> IMAP folders, but scripted.

No, IMAP uses a client/server paradigm, not really a pull.  There's a
subtle but VERY important difference, especially for e-mail
w.r.t. protocol layering violations (especially RFC 822 and newer).

-- 
						Greg A. Woods

+1 416 218-0098                VE3TCP          RoboHack <woods at robohack.ca>
Planix, Inc. <woods at planix.com>      Secrets of the Weird <woods at weird.com>


More information about the Info-cyrus mailing list