mattias wrote:
> here is the authmysqlrc
> 
> ##VERSION: $Id: authmysqlrc,v 1.19 2007/02/10 02:51:07 mrsam Exp $
> 
> #
> 
> # Copyright 2000-2007 Double Precision, Inc. See COPYING for
> 
> # distribution information.
> 
> #
> 
> # Do not alter lines that begin with ##, they are used when upgrading
> 
> # this configuration.
> 
> #
> 
> # authmysqlrc created from authmysqlrc.dist by sysconftool
> 
> #
> 
> # DO NOT INSTALL THIS FILE with world read permissions. This file
> 
> # might contain the MySQL admin password!
> 
> #
> 
> # Each line in this file must follow the following format:
> 
> #
> 
> # field[spaces|tabs]value
> 
> #
> 
> # That is, the name of the field, followed by spaces or tabs, followed by
> 
> # field value. Trailing spaces are prohibited.
> 
>  
> 
> ##NAME: LOCATION:0
> 
> #
> 
> # The server name, userid, and password used to log in.
> 
> MYSQL_SERVER 127.0.0.1
> 
> MYSQL_USERNAME
> 
> MYSQL_PASSWORD
> 
> MYSQL_DATABASE postfix
> 
> MYSQL_USER_TABLE mailbox
> 
> MYSQL_LOGIN_FIELD username
> 
> MYSQL_NAME_FIELD name
> 
> MYSQL_CRYPT_PWFIELD password
> 
> #MYSQL_CLEAR_PWFIELD password
> 
> MYSQL_MAILDIR_FIELD maildir
> 
> MYSQL_QUOTA_FIELD concat(quota,'S')
> 
> MYSQL_HOME_FIELD '/home/vmail'
> 
> MYSQL_UID_FIELD '5000'
> 
> MYSQL_GID_FIELD '5000'
> 
> ##NAME: SSLINFO:0
> 
> #
> 
> # The SSL information.
> 
> #
> 
> # To use SSL-encrypted connections, define the following variables
> (available
> 
> # in MySQL 4.0, or higher):
> 
> #
> 
> #
> 
> # MYSQL_SSL_KEY /path/to/file
> 
> # MYSQL_SSL_CERT /path/to/file
> 
> # MYSQL_SSL_CACERT /path/to/file
> 
> # MYSQL_SSL_CAPATH /path/to/file
> 
> # MYSQL_SSL_CIPHERS ALL:!DES
> 
>  
> 
>  
> 
> ##NAME: MYSQL_SOCKET:0
> 
> #
> 
> # MYSQL_SOCKET can be used with MySQL version 3.22 or later, it
> specifies the
> 
> # filesystem pipe used for the connection
> 
> #
> 
> # MYSQL_SOCKET /var/run/mysqld/mysqld.sock
> 
>  
> 
>  
> 
> ##NAME: MYSQL_PORT:0
> 
> #
> 
> # MYSQL_PORT can be used with MySQL version 3.22 or later to specify a
> port to
> 
> # connect to.
> 
> MYSQL_PORT 0
> 
> ##NAME: MYSQL_OPT:0
> 
> #
> 
> # Leave MYSQL_OPT as 0, unless you know what you're doing.
> 
> MYSQL_OPT 0
> 
> ##NAME: MYSQL_DATABASE:0
> 
> #
> 
> # The name of the MySQL database we will open:
> 
> MYSQL_DATABASE mj
> 
> ##NAME: MYSQL_USER_TABLE:0
> 
> #
> 
> # The name of the table containing your user data. See README.authmysqlrc
> 
> # for the required fields in this table.
> 
> MYSQL_USER_TABLE mailbox
> 
> ##NAME: MYSQL_CRYPT_PWFIELD:0
> 
> #
> 
> # Either MYSQL_CRYPT_PWFIELD or MYSQL_CLEAR_PWFIELD must be defined. Both
> 
> # are OK too. crypted passwords go into MYSQL_CRYPT_PWFIELD, cleartext
> 
> # passwords go into MYSQL_CLEAR_PWFIELD. Cleartext passwords allow
> 
> # CRAM-MD5 authentication to be implemented.
> 
> MYSQL_CRYPT_PWFIELD crypt
> 
> ##NAME: MYSQL_CLEAR_PWFIELD:0
> 
> #
> 
> #
> 
> # MYSQL_CLEAR_PWFIELD clear
> 
>  
> 
>  
> 
> ##NAME: MYSQL_DEFAULT_DOMAIN:0
> 
> #
> 
> # If DEFAULT_DOMAIN is defined, and someone tries to log in as 'user',
> 
> # we will look up '[EMAIL PROTECTED]' instead.
> 
> #
> 
> #
> 
>  
> 
>  
> 
> ##NAME: MYSQL_UID_FIELD:0
> 
> #
> 
> # Other fields in the mysql table:
> 
> #
> 
> # MYSQL_UID_FIELD - contains the numerical userid of the account
> 
> #
> 
> MYSQL_UID_FIELD uid
> 
> ##NAME: MYSQL_GID_FIELD:0
> 
> #
> 
> # Numerical groupid of the account
> 
> MYSQL_GID_FIELD gid
> 
> ##NAME: MYSQL_LOGIN_FIELD:0
> 
> #
> 
> # The login id, default is id. Basically the query is:
> 
> #
> 
> # SELECT MYSQL_UID_FIELD, MYSQL_GID_FIELD, ... WHERE id='loginid'
> 
> #
> 
> MYSQL_LOGIN_FIELD id
> 
> ##NAME: MYSQL_HOME_FIELD:0
> 
> #
> 
> MYSQL_HOME_FIELD home
> 
> ##NAME: MYSQL_NAME_FIELD:0
> 
> #
> 
> # The user's name (optional)
> 
> MYSQL_NAME_FIELD name
> 
> ##NAME: MYSQL_MAILDIR_FIELD:0
> 
> #
> 
> # This is an optional field, and can be used to specify an arbitrary
> 
> # location of the maildir for the account, which normally defaults to
> 
> # $HOME/Maildir (where $HOME is read from MYSQL_HOME_FIELD).
> 
> #
> 
> # You still need to provide a MYSQL_HOME_FIELD, even if you uncomment this
> 
> # out.
> 
> #
> 
> # MYSQL_MAILDIR_FIELD maildir
> 
> MYSQL_MAILDIR_FIELD maildir
> 
> ##NAME: MYSQL_DEFAULTDELIVERY:0
> 
> #
> 
> # Courier mail server only: optional field specifies custom mail delivery
> 
> # instructions for this account (if defined) -- essentially overrides
> 
> # DEFAULTDELIVERY from ${sysconfdir}/courierd
> 
> #
> 
> # MYSQL_DEFAULTDELIVERY defaultdelivery
> 
>  
> 
>  
> 
> ##NAME: MYSQL_QUOTA_FIELD:0
> 
> #
> 
> # Define MYSQL_QUOTA_FIELD to be the name of the field that can optionally
> 
> # specify a maildir quota. See README.maildirquota for more information
> 
> #
> 
> # MYSQL_QUOTA_FIELD quota
> 
> MYSQL_QUOTA_FIELD concat(quota,'S')
> 
> ##NAME: MYSQL_AUXOPTIONS:0
> 
> #
> 
> # Auxiliary options. The MYSQL_AUXOPTIONS field should be a char field that
> 
> # contains a single string consisting of comma-separated "ATTRIBUTE=NAME"
> 
> # pairs. These names are additional attributes that define various
> per-account
> 
> # "options", as given in INSTALL's description of the "Account OPTIONS"
> 
> # setting.
> 
> #
> 
> # MYSQL_AUXOPTIONS_FIELD auxoptions
> 
> #
> 
> # You might want to try something like this, if you'd like to use a bunch
> 
> # of individual fields, instead of a single text blob:
> 
> #
> 
> # MYSQL_AUXOPTIONS_FIELD
> CONCAT("disableimap=",disableimap,",disablepop3=",disablepop3,",disablewebmail=",disablewebmail,",sharedgroup=",sharedgroup)
> 
> #
> 
> # This will let you define fields called "disableimap", etc, with the
> end result
> 
> # being something that the OPTIONS parser understands.
> 
>  
> 
>  
> 
> ##NAME: MYSQL_WHERE_CLAUSE:0
> 
> #
> 
> # This is optional, MYSQL_WHERE_CLAUSE can be basically set to an arbitrary
> 
> # fixed string that is appended to the WHERE clause of our query
> 
> #
> 
> # MYSQL_WHERE_CLAUSE server='mailhost.example.com'
> 
>  
> 
>  
> 
> ##NAME: MYSQL_SELECT_CLAUSE:0
> 
> #
> 
> # (EXPERIMENTAL)
> 
> # This is optional, MYSQL_SELECT_CLAUSE can be set when you have a database,
> 
> # which is structuraly different from proposed. The fixed string will
> 
> # be used to do a SELECT operation on database, which should return fields
> 
> # in order specified bellow:
> 
> #
> 
> # username, cryptpw, clearpw, uid, gid, home, maildir, quota, fullname,
> options
> 
> #
> 
> # The username field should include the domain (see example below).
> 
> #
> 
> # Enabling this option causes ignorance of any other field-related
> 
> # options, excluding default domain.
> 
> #
> 
> # There are two variables, which you can use. Substitution will be made
> 
> # for them, so you can put entered username (local part) and domain name
> 
> # in the right place of your query. These variables are:
> 
> # $(local_part), $(domain), $(service)
> 
> #
> 
> # If a $(domain) is empty (not given by the remote user) the default domain
> 
> # name is used in its place.
> 
> #
> 
> # $(service) will expand out to the service being authenticated: imap,
> imaps,
> 
> # pop3 or pop3s. Courier mail server only: service will also expand out to
> 
> # "courier", when searching for local mail account's location. In this case,
> 
> # if the "maildir" field is not empty it will be used in place of
> 
> # DEFAULTDELIVERY. Courier mail server will also use esmtp when doing
> 
> # authenticated ESMTP.
> 
> #
> 
> # This example is a little bit modified adaptation of vmail-sql
> 
> # database scheme:
> 
> #
> 
> # MYSQL_SELECT_CLAUSE SELECT CONCAT(popbox.local_part, '@',
> popbox.domain_name), \
> 
> # CONCAT('{MD5}', popbox.password_hash), \
> 
> # popbox.clearpw, \
> 
> # domain.uid, \
> 
> # domain.gid, \
> 
> # CONCAT(domain.path, '/', popbox.mbox_name), \
> 
> # '', \
> 
> # domain.quota, \
> 
> # '', \
> 
> # CONCAT("disableimap=",disableimap,",disablepop3=", \
> 
> # disablepop3,",disablewebmail=",disablewebmail, \
> 
> # ",sharedgroup=",sharedgroup) \
> 
> # FROM popbox, domain \
> 
> # WHERE popbox.local_part = '$(local_part)' \
> 
> # AND popbox.domain_name = '$(domain)' \
> 
> # AND popbox.domain_name = domain.domain_name
> 
>  
> 
>  
> 
> ##NAME: MYSQL_ENUMERATE_CLAUSE:1
> 
> #
> 
> # {EXPERIMENTAL}
> 
> # Optional custom SQL query used to enumerate accounts for authenumerate,
> 
> # in order to compile a list of accounts for shared folders. The query
> 
> # should return the following fields: name, uid, gid, homedir, maildir,
> options
> 
> #
> 
> # Example:
> 
> # MYSQL_ENUMERATE_CLAUSE SELECT CONCAT(popbox.local_part, '@',
> popbox.domain_name), \
> 
> # domain.uid, \
> 
> # domain.gid, \
> 
> # CONCAT(domain.path, '/', popbox.mbox_name), \
> 
> # '', \
> 
> # CONCAT('sharedgroup=', sharedgroup) \
> 
> # FROM popbox, domain \
> 
> # WHERE popbox.local_part = '$(local_part)' \
> 
> # AND popbox.domain_name = '$(domain)' \
> 
> # AND popbox.domain_name = domain.domain_name
> 
>  
> 
>  
> 
> ##NAME: MYSQL_CHPASS_CLAUSE:0
> 
> #
> 
> # (EXPERIMENTAL)
> 
> # This is optional, MYSQL_CHPASS_CLAUSE can be set when you have a database,
> 
> # which is structuraly different from proposed. The fixed string will
> 
> # be used to do an UPDATE operation on database. In other words, it is
> 
> # used, when changing password.
> 
> #
> 
> # There are four variables, which you can use. Substitution will be made
> 
> # for them, so you can put entered username (local part) and domain name
> 
> # in the right place of your query. There variables are:
> 
> # $(local_part) , $(domain) , $(newpass) , $(newpass_crypt)
> 
> #
> 
> # If a $(domain) is empty (not given by the remote user) the default domain
> 
> # name is used in its place.
> 
> # $(newpass) contains plain password
> 
> # $(newpass_crypt) contains its crypted form
> 
> #
> 
> # MYSQL_CHPASS_CLAUSE UPDATE popbox \
> 
> # SET clearpw='$(newpass)', \
> 
> # password_hash='$(newpass_crypt)' \
> 
> # WHERE local_part='$(local_part)' \
> 
> # AND domain_name='$(domain)'
> 
> #
> 
>  
> 
>  
> 
>  
> 
>     -----Ursprungligt  
>      meddelande-----
>     *Från:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] *För *Jay Lee
>     *Skickat:* den 31 december 2007 17:52
>     *Till:* mattias
>     *Ämne:* Re: [courier-users] Courier-authlib-mysql
> 
>     On 12/31/07, *mattias* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> 
> wrote:
> 
>         I try tu use mysql with courier
>         But i can't get it to work
>         My database exist and my user have full rights to it
> 
> 
> 
>     Post the contents of your authlib/authmysqlrc file.
> 
>         My log follow
>         Dec 31 16:59:50 mjw imapd: authentication error: Input/output error
>         Dec 31 17:05:24 mjw authdaemond: authmysql: mysql_select_db(mj.)
>         error:
>         Incorrect database name 'mj.'
>         Dec 31 17:05:24 mjw imapd: authentication error: Input/output error
>         Dec 31 17:08:10 mjw authdaemond: authmysql: mysql_select_db(mj.)
>         error:
>         Incorrect database name 'mj.'
>         Dec 31 17:08:10 mjw imapd: authentication error: Input/output error
>         Please help!
> 
> 
> 
>     Set DEBUG=1 in authlib/authdaemonrc and repost this log (it will be
>     more verbose)
> 
> 
>     Jay
>     -- 
>     Jay Lee
>     Network / Systems Administrator
>     Information Technology Dept.
>     Philadelphia Biblical University 
> 
> 

You should search for this (that what a pasted below) in your config
file, and change MYSQL_DATABASE mj to MYSQL_DATABASE postfix ;)
And enjoy your mail server.
And... maybe connect to your database through the mysql socket,
MYSQL_SOCKET.


THIS ==>

# The name of the MySQL database we will open:

MYSQL_DATABASE mj

##NAME: MYSQL_USER_TABLE:0

<== EOF :-)

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
courier-users mailing list
[email protected]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

Reply via email to