On Tue, 5 Jul 2005, Paul Raines wrote:


How does singleinstancestore figure out messages that can be
hard linked?  It doesn't seem to do it by message-id across mailboxes.
If I send email to a mailman list with all my users, that mail
goes into their mailboxes individually (not hard linked as a single
instance) even though the message-id on each is definitely the same.

I am not sure how mailman does sending.  I guess it might make
a seperate connection to the SMTP server for each user meaning that
each RCPT TO is for one user.  If singleinstancestore keys on the
RCPT TO envelope, then I guess the usefulness of singleinstancestore
will be rare.

Also, I am using sendmail which calls procmail for the MDA which
in turn calls the deliver program for actually delivery.  So it
is definitely true that deliver is called separately for each
user no matter how the mail comes into sendmail.

As far as I know, singleinstancestore will only work if you are using Cyrus' lmtpd for delivery. 'deliver' is a thin wrapper which eventually transmits the mail to lmtpd for actual delivery in Cyrus. Since it is called separately for each message, there is no opportunity for Cyrus to create the hard link.

At our site, we use Postfix as our MTA. A transport map tells Postfix to deliver all mail for our domain to Cyrus' lmtpd. In Postfix's main.cf we have:

  local_destination_recipient_limit = 300

In the case of email sent to a large campus mailing list, one LMTP connection will be made for every 300 recipients, and one file will be stored in Cyrus for every 300 recipients.

The short answer is that you won't get any love from singleinstancestore until you dump procmail and deliver to the LMTP socket.

        Andy
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Reply via email to