[Dovecot] pgsql configuration
Tom Allison
tallison at tacocat.net
Tue Jun 8 03:58:13 EEST 2004
from the pgsql configuration file:
# Query to retrieve the password.
#
# The query should return one row, one column. If more than one row or
column
# is returned, authentication will automatically fail.
#
# Available substitutions:
# %u = entire userid
# %n = user part of user at domain
# %d = domain part of user at domain
#
# Query to retrieve the user information.
#
# The query must return only one row. The columns to return are:
# home - Home directory
# mail - MAIL environment
# system_user - System user name (for getting user's groups from
/etc/group)
# uid - System UID
# gid - System GID
#
# Either home or mail is required. uid and gid are required. If more
than one
# row is returned or there's missing fields, login will automatically fail.
#
I'm a bit slow here, so if someone could just nod if I'm in the right
direction:
I want to support IMAP for at least two domains.
Therefore I have to use the authentication string of:
SELECT password FROM users WHERE userid = '%u'
and the user must enter their entire email address for their login name.
(I can do this!)
I want some portion of these domains and users to be consistent with
existing accounts in my /etc/passwd database. I don't expect to use
passwd information for the username and password, but I want the
information returned for joe at domain2.com to be for the user:joe in my
passwd file and have his email in /home/joe/Maildir.
Similarly, I want others (either fred at domain2.com or jane at domain1.com)
to be (ideally) all driven under a non-local account name and login.
For this second one, I'm thinking I need to do something like this in
the user information query (this is mostly a guess):
for joe at domain2.com (/etc/passwd) :: jane at domain1.com (no passwd)
home - /home/joe --or-- can I use ~/ :: /var/spool/imap/%d/%n ??
mail - maildir:~/Maildir :: maildir:/var/spool/imap/%d/%n ??
system_user - joe :: (a guess -- adduser dovecot-imap to passwd maybe)
uid - joes uid (1002) :: dovecot-imap uid (510)
gid - joes gid (1001) :: dovecot-imap gid (510) with seperate group
This is where I get fuzzy. If someone could help me figure out where I
went wrong I would appreciate it.
If I did this correctly, then in theory I could pass email delivery to
procmail and have one set of rules (/etc/procmail) do some additional
filtering for all the email under my domain1.com (spam filtering mostly)
and perform a final delivery to maildirs in
/var/spool/imap/doamin1.com/jane/
Or am I sleep deprived?
More information about the dovecot
mailing list