Hope this can help you:

1. be sure that your Makefile on qmail after applying the patch has the following:

# to enable the auto-maildir-make feature uncomment the next line
MDIRMAKE=-DAUTOMAILDIRMAKE

# to enable the auto-homedir-make feature uncomment the next line
HDIRMAKE=-DAUTOHOMEDIRMAKE


2. After installing qmail-ldap go to you control files normally located at /var/qmail/control

then add this to that file

cat  > /var/qmail/control/dirmaker
/var/qmail/bin/dirmaker

create the file /var/qmail/bin/dirmaker and put this on it: ( it may change according to your installation)

#!/bin/sh
echo '---------------------------------------------' >> /usr/home/qmail/dirmaker.log
date >> /usr/home/qmail/dirmaker.log
echo $1 >> /usr/home/qmail/dirmaker.log
id >> /usr/home/qmail/dirmaker.log
mkdir -m 700 -p $1
/var/qmail/bin/maildirmake $1/Maildir

that file is owned by root:qmail:
% ll /var/qmail/bin/dirmaker 
-rwxr-xr-x  1 root  qmail  264 Jun 16 11:53 dirmaker*

also check the ldapmessagestore, on my case is : 

/usr/home/qmail/maildirs  (directory owned by vmail:vmail)

% ll /usr/home/qmail/
-rw-r--r--  1 vmail  vmail  3562 Sep 12 23:13 dirmaker.log
drwxr-xr-x  4 vmail  vmail   512 Sep 12 22:48 maildirs/


3. verify the perms
on my case /usr/home/qmail/* is owned by vmail:vmail

4. here is an example of ldif:

dn: uid=[EMAIL PROTECTED],ou=ejemplo.org,ou=qmail,o=EJEMPLO,c=CA
objectClass: top
objectClass: person
objectClass: inetOrgPerson
objectClass: qmailUser
cn: nbari
sn: nbari
accountStatus: active
mailHost: ejemplo.org
mailMessageStore: ejemplo.org/nbari
deliveryMode: noprogram
mailAlternateAddress: [EMAIL PROTECTED]




  • dirmaker
  • Dirmaker (which we altered our makefile for) allows us to declare a script that will autocreate home directories for us upon receipt of first email on a new account. So, create an LDAP account for [EMAIL PROTECTED], with a mailbox of /mail/glaven.org/users/j/jasonpanopolous and dirmaker will automagically create the directory (and tree), set permissions, and deliver the mail there. I created /var/qmail/bin/dirmaker, and put that path in my dirmaker control file. Here is the contents of my dirmaker script


Hope this can help you.

Regards.



On Oct 1, 2005, at 11:24 AM, Layn wrote:

   Thansk for your faster reply, now the directory is created:

   drwx------  3 vmail vmail 4096 2005-10-01 18:20 anata

   This directory is empty, no Maildir, no cur, no new, no tmp...

   And the log say:

   deferral: Unable_to_open_/var/qmail/maildirs/anata2:_is_a_directory._(#4.2.1)

   If manually i do the Maildir directory the answer is the same:

   deferral: Unable_to_open_/var/qmail/maildirs/anata2:_is_a_directory._(#4.2.1)

  

   The anata user:

dn: uid=anata2,dc=example,dc=com
cn: anata2
sn: anata2
objectClass: person
objectClass: top
objectClass: inetOrgPerson
objectClass: qmailUser
o: example
uid: anata2
mailHost: smtp.example.com
homeDirectory: /var/qmail/maildirs/anata2
mailMessageStore: /var/qmail/maildirs/anata2
userPassword: 123456

   Regards,
   Layn.


Hi Layn,

Solution is quite simple - I'll just point it out one by one

1. In your qmail-1.03 source directory, locate the file 'qmail-ldap.h'.
2. In this file, locate the parameter 'LDAP_HOMEDIR' and change its value to
'mailMessageStore'
3. Now go to the qmail source directory and recompile qmail-ldap with the
command -
make setup check
4. In the directory /var/qmail/control, make sure u have the following
control files with the contents given along with this...

(I) ldapserver  - localhost
(II) ldaplogin - 'cn=Manager,dc=yourdomain,dc=com'
(III) ldappassword - 'yoursecretpassword'
(IV) ldapbasedn - 'dc=yourdomain,dc=com'
(V) ldaplocaldelivery - 1
(VI) make sure localdomains and rcpthosts contain the name of ur domain

5. chown root:qmail /var/qmail/control/ldap*

Also make sure that your /etc/ldap.conf has enabled authentication for the
domain manager i.e cn=Manager,dc=yourdomain,dc=com...Locate related entries
in this file and make changes accordingly...

rootbinddn cn=Manager,dc=yourdomain,dc=com
Also uncomment the entry for password

Now, when you create a new user, qmail will automatically create the user's
home directory, which is also the maildir of user 'watashi' (
/var/qmail/maildirs/watashi.  ). So the directory 'watashi' will be created
as a maildir and not a mailbox directory.

In case the maildir is not created, just send a mail to this newly created
user 'watashi' with any demo text. qmail will then automatically create the
desired maildir.

Hope that helps. Good luck with your qmail-ldap installation.

Regards,

Amit

----- Original Message ----- From: "Layn" <[EMAIL PROTECTED]>
Sent: Saturday, October 01, 2005 8:49 PM
Subject: Automaildir.


 


   I know this is a comun problem, i have read similar post in this
list and anothers, but, i cant fix this error. So please if you have any
idea about its, please tell me.

   My problem is the next:

   When i send a mail to a local users (no sistem local, local of my
domains, defined in my ldap), i get the next error:

   deferral:

   


Unable_to_switch_to_/var/qmail/maildirs/watashi3:_file_does_not_exist._(#4.3
.0)

 


   If i create this directory:

  shuhi:/var/qmail# bin/dirmaker maildirs/watashi3
  shuhi:/var/qmail# chown -R vmail:vmail maildirs
  shuhi:/var/qmail# ls -l maildirs/
  total 4
  drwx------  2 vmail vmail 4096 2005-10-01 16:53 watashi3

   The result is:

   deferral: Unable_to_chdir_to_maildir._(#4.2.1)

   It could be a problem of privilege, but if u see, the directory is
of vmail:vmail, so its correct, no problem with privilege.
   And now i create Maildir with maildirmake:

   shuhi:/var/qmail# bin/maildirmake maildirs/watashi3/Maildir
   shuhi:/var/qmail# chown -R vmail:vmail maildirs

   The result is:

   success: did_1+0+0/

   Correct!!! But no automatic.

   The ldap's user configuration is:

dn: uid=watashi3,dc=example,dc=com
cn: watashi3
sn: lin2
objectClass: person
objectClass: top
objectClass: inetOrgPerson
objectClass: qmailUser
o: example
uid: watashi3
mailHost: smtp.example.com
mailMessageStore: /var/qmail/maildirs/watashi3
userPassword:: 123456

If i put the homeDirectory's attribute, and i create the homeDirectory,
this automaty crea the mailbox, but the mailbox and i want maildir, no
mailbox.

Control's files of interest:

defaultdelivery                ./Maildir/
ldapgid                              2110  (vmail uid)
ldapmessagestore            /var/qmail/maildirs
ldapobjectclass                  qmailUser
ldaprebind                        1
ldapuid                              11184 (vmail gid=
dirmaker                           /var/qmail/bin/dirmaker

And dirmaker's script:

#!/bin/sh
mkdir -m 700 -p $1

And for last, the more important, the Makefile of qmail-1.03, in this
file i have uncommentd the next lines:

      MDIRMAKE=DAUTOMAILDIRMAKE
      HDIRMAKE=DAUTOHOMEDIRMAKE


I hope you can help me i dont know where to read now.

Thanks and regards,
Layn.

   






 






Reply via email to