Hai all,
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

:0
*
./guest/Maildir/
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)
Reply-To: vchkpw@inter7.com
To: vchkpw@inter7.com
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.




Reply via email to