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


Reply via email to