I am working with qmail-ldap-1.03-20030101. I have qmail-ldap working
nicely and delivering to Maildirs. However, I have been unable to get the
AUTOMAILDIRMAKE feature to work. Here is what I have done, and following
that will be an example of it failing (quite possibly because of a
configuration issue on this side).
1. Apply qmail-ldap patch.
2. Enable AUTOMAILDIRMAKE via qmail-1.03/Makefile:
MDIRMAKE=-DAUTOMAILDIRMAKE
3. Tweak other Qmail compile-time settings.
4. Compile and install Qmail:
make setup check
5. Configure Qmail. Create vmail user:
# grep vmail /etc/group /etc/passwd
/etc/group:vmail:x:514:
/etc/passwd:vmail:x:514:514::/var/qmail/maildirs:/bin/true
6. Create master maildir directory:
mkdir -m 700 /var/qmail/maildirs
chown vmail:vmail /var/qmail/maildirs
7. Configure control/dirmaker:
# cat dirmaker
/var/qmail/bin/dirmaker.sh
8. Add /var/qmail/bin/dirmaker.sh:
# ls -l /var/qmail/bin/dirmaker.sh
-rwxr-xr-x 1 root root 30 Jan 28 12:12
/var/qmail/bin/dirmaker.sh
# cat /var/qmail/bin/dirmaker.sh
#!/bin/sh
mkdir -m 700 -p $1
9. Run dirmaker.sh as test:
(replaced /bin/true with /bin/bash as login shell)
[root@mail control]# su - vmail
[vmail@mail maildirs]$ pwd
/var/qmail/maildirs
[vmail@mail maildirs]$ /var/qmail/bin/dirmaker.sh test
[vmail@mail maildirs]$ ls -ld test
drwx------ 2 vmail vmail 1024 Jan 28 13:20 test
[vmail@mail maildirs]$ rm -rf test
[vmail@mail maildirs]$ exit
logout
10. Startup Qmail:
/var/qmail/rc&
11. I create an entry in the LDAP directory for test:
# ldapsearch -b 'dc=example,dc=com' 'uid=test'
uid=test,ou=accounts,dc=example,dc=com
objectclass=top
objectclass=person
objectclass=organizationalPerson
objectclass=inetOrgPerson
objectclass=qmailUser
cn=Test User
givenname=Test
sn=User
[EMAIL PROTECTED]
ou=accounts
[EMAIL PROTECTED]
uid=test
userpassword=pass
mailmessagestore=/var/qmail/maildirs/test
12. I send test a message:
# echo "abc" | mail [EMAIL PROTECTED]
13. Check logs and notice that Qmail can't access the Maildir:
Jan 28 13:25:08 mail qmail: 1043778308.650552 new msg 16077
Jan 28 13:25:08 mail qmail: 1043778308.651215 info msg 16077: bytes 212
from <[EMAIL PROTECTED]> qp 6803 uid 0
Jan 28 13:25:08 mail qmail: 1043778308.651250 starting delivery 13: msg
16077 to local [EMAIL PROTECTED]
Jan 28 13:25:08 mail qmail: 1043778308.651275 status: local 1/10 remote 0/20
Jan 28 13:25:08 mail qmail: 1043778308.691646 delivery 13: deferral:
Unable_to_switch_to_/var/qmail/maildirs/test:_file_does_not_exist._(#4.3.0)/
Jan 28 13:25:08 mail qmail: 1043778308.691720 status: local 0/10 remote 0/20
Now shouldn't the Maildir have been created at /var/qmail/maildirs/test?
[root@mail maildirs]# ls -l test
ls: test: No such file or directory
But if I manually recreate the directory as vmail using dirmaker.sh then
delivery succeeds!
---
Dustin Puryear <[EMAIL PROTECTED]>
Puryear Information Technology
Windows, UNIX, and IT Consulting
http://www.puryear-it.com
