Determining deliverability

Pat Lashley patl+cyrus at
Sun Jul 13 17:17:40 EDT 2003

--On Sunday, July 13, 2003 13:22:15 -0700 Jason Fesler <jfesler at> 

>> I've thought of that; but it really needs to be run whenever a mailbox
>> is created or destroyed.  Or at least when a shared mailbox or user's
> I'm perhaps biased; I assumed only checking the username componant and not
> any folders underneath a given user's inbox.

What about shared mailboxes?

>> And whatever utility I used to do that would need to know the same
>> Cyrus implementation details and be kept in sync with any Cyrus changes.
> ctl_mboxlist -d
> While it isn't 100% transparent, it can at least leave the implementation
> details to ctl_mboxlist, which might change over time (and stay in sync).

Close; but it still requires conversion for namespace (and hierarchy
separator ?) details that the MTA really shouldn't have to worry about.
At least not when using LMTP for final delivery.

> Otherwise, if you really must have up to the second data, and you're
> checking more than just usernames, then you might indeed be stuck with
> just flat out attempting to run the delivery itself.

I've been thinking about finding the cycles to whip out a utility
that would take a local_part on the command line; and return success
or failure to indicate whether it is deliverable.  It would work by
starting an LMTP session and issuing a RCPT; then RSET and QUIT after
getting the response to the RCPT.  Having to spawn a task to do that
is a bit ugly; but I don't think Exim has a way to do it internally.
(Or at least not directly.  I might be able to do something with the
built-in perl lib...)


More information about the Info-cyrus mailing list