mailbox size limitation in sendmail and RedHat Linux

I am running sendmail in Redhat Linux 6.2, my question is how to set up mailbox size limitation for every user, like 5MB.
asp168Asked:
Who is Participating?
 
jlevieConnect With a Mentor Commented:
To implement a quota on a user's inbox you need to have a quota aware mail system. One possibility, that I use, is to use Cyrus IMAP for user access (IMAP/POP) to the inboxes. The Cyrus implementation provides a quota system that is mail safe. You can read more about the Cyrus at http://asg.web.cmu.edu/cyrus/.

Note that is is important to make sure that limits on a user's inbox are implemented in a 'mail safe' manner. Either you have to use an MTA that implements quota's, like samri suggests, or add something to sendmail, like Cyrus, that implements quota's in a safe manner. The problem with using ordinary file system quotas with sendmail is that by the time sendmail realizes that an inbound message exceeds the quota it's too late to bounce the message. Basically sendmail just sees a write error when it tries to place the message in the user's inbox. The other problem is in letting the user know that their inbox is near or over quota. Frequently users only have POP or IMAP access to their inbox. Neither of those protocols provide a means of notification of quota limits or current size of the inbox.
0
 
samriCommented:
asp168,

I doubt sendmail would have the facility to check the mailbox size.  Possible, maybe yes, but I would bet that would require a massive hacking to the sendmail source itself.

Another option would be placing user mailboxes on a dedicated filesystem, and implement userquota on that FS.  It would be possible.  However some experts would not recommend this approach.  But it should work.

Alternately, you can switch to other MTA.  What I can think of at the moment, would be Qmail (http://www.qmail.org/)

cheers.
0
 
samriCommented:
jlevie,

Now I remember that you did mentioned this several time on the previous topic.

asp168: The method proposed by jlevie is clean.

Still on the FS quota: (Jim can comment on this)
Another option would be having a scripts to minitor userquota on the mailbox FS, and inform user accordingly, and after that update the virtusertable or access file (whichever applicable) to reject mail with proper error message).

I think this might work -- with too (way too) much effort.


cheers.

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.