I was curious if anyone has implemented a mechanism in sendmail to determine
if a user is over their Cyrus quota before attempting LMTP delivery of the
message.  If so, how was it impemented?

In our environment, I would have to say that easily, 3/4ths of all our e-mail
hitting the LMTP server is over-quota'd e-mail.

What I have done is to create a new hash file called /etc/mail/overquota.db
that gets updated periodically (once an hour or maybe even less) with the
list of users currently over their quota's.  I then modified the sendmail
queuegroup rules to check for the existence of a user in that hash file and
move then to the overquota queue if so.

I find this better than dumping all e-mail destined for local delivery to
the cyrus queue, and then using a queue mover to find all the messages that
had attempted LMTP delivery, but failed with an "Over quota" message.  That
turns out to be very expensive with regards to disk I/O and CPU utilization.

Also, if anyone else has other interesting ideas on how they handle lots
of over quota e-mail (besides shortening the time that e-mail is kept on the
server or rejecting that e-mail outright), I would be interested in hearing
about it.

Scott
--
+-----------------------------------------------------------------------+
     Scott W. Adkins                http://www.cns.ohiou.edu/~sadkins/
  UNIX Systems Engineer                  mailto:[EMAIL PROTECTED]
       ICQ 7626282                 Work (740)593-9478 Fax (740)593-1944
+-----------------------------------------------------------------------+
    PGP Public Key available at http://www.cns.ohiou.edu/~sadkins/pgp/

Attachment: pgp00000.pgp
Description: PGP signature



Reply via email to