Thanks for your reply.
Now one more problem occured. I have setup procmail in all users directory. There will be
.qmail-guest . in /home/vpopmail/domains/test.com/.This file is like this
| preline procmail -t ./guest/Maildir/Procmail/procmailrc
In procmail folder procmailrc file is like this SHELL=/bin/sh PMDIR=./guest/Maildir/Procmail LOGFILE=$PMDIR/pmlog VERBOSE=on
this syntax i was following till number of users were below 100. Filtering with procmail was also working for users below 100. Now after 100 users i added the .qmail-username file,procmailrc file but filtering is not working. I had checked the filepaths in procmailrc files, it was currect..
Please suggest me a solution why the filtering with procmail was not working for users created after 100.
Thanks for any help
From: [EMAIL PROTECTED] (Eric Ziegast)
Subject: Re: [vchkpw] vpopmail problem Date: Thu, 30 Dec 2004 06:14:30 -0800
> Can anyone suggest me solution why user directoy are created in > /home/vpopmail/domains/domainname/0/ - folder.
This is explained well in the "README" file that comes with vpopmail. Look for "user directory structure".
Imagine test.com when it gets up to 500 or 5000 or 50000 users. To have all of the users in one directory is not efficient on all filesystems so vpopmail automatically uses hashing to break user directories out into subdirectories after the first "100" users. If I had a script to create "vadduser user1" up to "user25000", I might find the user hashing to look like...
/home/vpopmail/domains/DOMAIN/______/Maildir user1 user2 ... user99 user100 0/user101 0/user102 ... 0/user199 0/user200 1/user201 1/user202 ... 9/user999 9/user1000 A/user1001 ... Z/user3600 a/user3601 ... z/user6200 0/0/user6201 ... 0/z/user12400 1/0/user12401 ... 1/z/user24800 2/0/user24801 ... 2/1/user25000
Instead of assuming that a user's Maildir is in the directory "cd /home/vpopmail/domains/$DOMAIN/$USER/Maildir", Vpopmail administrators typically use "cd `vuserinfo -d [EMAIL PROTECTED]", or even safer, "cd `vuserdir [EMAIL PROTECTED]".
#!/bin/sh # WARNING: untested code - use at your own risk # # vuserdir - print out the vpopmail directory for a user # or "." if it does not exist. # # Syntax: "vuserdir address" # address=$1 if [ "$address" = '' ] then echo "vuserdir: No address specified" 1>&2 echo . exit 1 fi dir=`vuserinfo -d $address` if [ "$?" = 0 -a -d "$dir" ] then echo $dir else echo "vuserdir: Directory for $address not found: $dir" 1>&2 echo . exit 1 fi
The hashing is controled by the "OPEN_BIG_DIR" define in vpopmail's "config.h". If you never intend to use large user directories (*), then commenting this out the define before installing might avoid this behavior, or you can compile MAX_USERS_PER_LEVEL (in vauth.h) to be a really high number.
Best practice, though, would have you use directory hashing just like everyone else. Imagine that someday someone else withh have to take over your qmail/vpopmail installation and worry about your local customizations. It becomes difficult for them to upgrade to the next version of vpopmail if they have to patch the code each time.
The directory hashing is also used on domains. So if you add more than 100 domains, you'll see /home/vpopmail/domains/0.
-- Eric Ziegast [EMAIL PROTECTED]
(*) Back in the 80's someone said, "No one will ever need more than 640 kilobytes of memory".
The MS Office product suite. Make efficiency a habit. http://www.microsoft.com/india/office/experience/ Simplify your life.