Determining deliverability

Pat Lashley patl+cyrus at
Sat Jul 12 05:49:14 EDT 2003

I've been using Cyrus with Exim for several years now; and am, in
general quite happy with the combination.  I'm currently upgrading
a couple of systems to more current versions; and would really like
to clean up a few of the kluges I've been using.

In particular, is there any clean method for an MTA like exim to
determine whether a given local part is deliverable via the Cyrus
lmtpd?  (Or, more accurately, would it be deliverable if sieve
were turned off and there are no problems with quotas, etc.)
I am particularly interested in being able to do so with local
parts which contain detail notation for submailboxes.  (E.g.,

My emphasis here is on 'clean'.  I'm currently using two routers
which convert the local part to a file path.  (One to try the full
detailed local part, one with only the user part.)  It has two
problems.  One is that as implemented, it only works with a single
partition.  (Not an issue for me.)  The other is that it requires
far too much knowlege of Cyrus' implementation details.

I've seen the example that uses a lookup to directly access the
mailboxes.db file.  It also requires knowlege of Cyrus' implementation
details; and it doesn't work with skiplists (no support in exim).

The easiest generic solution would probably be a utility that
took a local part (including optional detail) as a command-line
parameter and returned success if it is a deliverable address;
and failure if not.

Possibly also an option to print to stdout the portion of the
address that matched.  If the whole address matched, it would be
returned; if trailing  from the detail weren't matched.  (E.g.,
If I have the  user.patl.cyrus, but not user.patl.cyrus.users;
and pass the utility 'patl+cyrus.users'; it would return success
and the string 'patl+cyrus'.)

It might also be useful to have an option that would make the printed
output be the translated mailbox name.  (E.g., Instead of 'patl+cyrus'
it would return 'users.patl.cyrus' or 'users/patl/cyrus' depending
on the heirarchy separator.)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url :

More information about the Info-cyrus mailing list