postfix: "unknown user" with mysql auth.

Discussion in 'Server Operation' started by Kruser, Jun 18, 2009.

  1. Kruser

    Kruser New Member

    Hello,

    I´ve made your tutorial Virtual Users And Domains With Postfix, Courier And MySQL (Debian Etch).
    First i have to say that it is a gread how-to and surly the best i´ve found in the internet.

    But still i have some problems.

    The following things are working:

    • I can send emails without any problems
    • clamav and spammasist works fine, too
    • no errors from postfix or other processes

    But i can´t receive emails. Postfix said that the user doesn´t exist, but the user exists surly. And i can send emails with the same user.

    First i post you all log and config files i have.

    mail.log
    Code:
    Jun 18 00:20:37 kruseltech postfix/master[26171]: daemon started -- version 2.3.8, configuration /etc/postfix
    Jun 18 00:20:57 kruseltech postfix/smtpd[26269]: connect from mail.gmx.net[213.165.64.20]
    Jun 18 00:20:57 kruseltech postfix/smtpd[26269]: D582C34509CA: client=mail.gmx.net[213.165.64.20]
    Jun 18 00:20:57 kruseltech postfix/cleanup[26274]: D582C34509CA: message-id=<20090617225254.104640@gmx.net>
    Jun 18 00:20:57 kruseltech postfix/qmgr[26173]: D582C34509CA: from=<kruseltier@gmx.de>, size=1044, nrcpt=1 (queue active)
    Jun 18 00:20:57 kruseltech postfix/smtpd[26269]: disconnect from mail.gmx.net[213.165.64.20]
    Jun 18 00:21:00 kruseltech postfix/smtpd[26287]: connect from localhost.localdomain[127.0.0.1]
    Jun 18 00:21:00 kruseltech postfix/smtpd[26287]: 4089634509CE: client=localhost.localdomain[127.0.0.1]
    Jun 18 00:21:00 kruseltech postfix/cleanup[26274]: 4089634509CE: message-id=<20090617225254.104640@gmx.net>
    Jun 18 00:21:00 kruseltech postfix/qmgr[26173]: 4089634509CE: from=<kruseltier@gmx.de>, size=1522, nrcpt=1 (queue active)
    Jun 18 00:21:00 kruseltech amavis[11515]: (11515-02) Passed CLEAN, [213.165.64.20] [192.129.26.32] <kruseltier@gmx.de> -> <hendrik@oneclick-login.de>, Message-ID: <20090617225254.104640@gmx.net>, mail_id: nLQVAVlXrhCa, Hits: 0., queued_as: 4089634509CE, 2415 ms
    Jun 18 00:21:00 kruseltech postfix/smtp[26275]: D582C34509CA: to=<hendrik@oneclick-login.de>, relay=127.0.0.1[127.0.0.1]:10024, delay=2.5, delays=0.06/0/0/2.4, dsn=2.6.0, status=sent (250 2.6.0 Ok, id=11515-02, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 4089634509CE)
    Jun 18 00:21:00 kruseltech postfix/qmgr[26173]: D582C34509CA: removed
    Jun 18 00:21:00 kruseltech postfix/smtpd[26287]: disconnect from localhost.localdomain[127.0.0.1]
    Jun 18 00:21:00 kruseltech postfix/local[26288]: 4089634509CE: to=<hendrik@oneclick-login.de>, relay=local, delay=0.08, delays=0.06/0/0/0.01, dsn=5.1.1, status=bounced (unknown user: "hendrik")
    Jun 18 00:21:00 kruseltech postfix/cleanup[26274]: 548CB34509CA: message-id=<20090618002100.548CB34509CA@oneclick-login.de>
    Jun 18 00:21:00 kruseltech postfix/qmgr[26173]: 548CB34509CA: from=<>, size=3369, nrcpt=1 (queue active)
    Jun 18 00:21:00 kruseltech postfix/bounce[26290]: 4089634509CE: sender non-delivery notification: 548CB34509CA
    Jun 18 00:21:00 kruseltech postfix/qmgr[26173]: 4089634509CE: removed
    Jun 18 00:21:00 kruseltech postfix/smtp[26291]: 548CB34509CA: to=<kruseltier@gmx.de>, relay=mx0.gmx.net[213.165.64.100]:25, delay=0.19, delays=0.03/0/0.04/0.11, dsn=2.6.0, status=sent (250 2.6.0 Message accepted {mx058})
    Jun 18 00:21:00 kruseltech postfix/qmgr[26173]: 548CB34509CA: removed
    
    /etc/postfix/mysql-virtual_domains.cf
    Code:
    user = mail_admin
    password = password
    dbname = mail
    query = SELECT domain AS virtual FROM domains WHERE domain='%s'
    hosts = 127.0.0.1
    
    /etc/postfix/mysql-virtual_email2email.cf
    Code:
    user = mail_admin
    password = password
    dbname = mail
    query = SELECT email FROM users WHERE email='%s'
    hosts = 127.0.0.1
    
    /etc/postfix/mysql-virtual_forwardings.cf
    Code:
    user = mail_admin
    password = password
    dbname = mail
    query = SELECT destination FROM forwardings WHERE source='%s'
    hosts = 127.0.0.1
    
    /etc/postfix/mysql-virtual_mailbox_limit_maps.cf
    Code:
    user = mail_admin
    password = password
    dbname = mail
    query = SELECT quota FROM users WHERE email='%s'
    hosts = 127.0.0.1
    
    /etc/postfix/mysql-virtual_mailboxes.cf
    Code:
    user = mail_admin
    password = password
    dbname = mail
    query = SELECT query = SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='%s'
    hosts = 127.0.0.1
    
    /etc/postfix/mysql-virtual_transports.cf
    Code:
    user = mail_admin
    password = password
    dbname = mail
    query = SELECT transport FROM transport WHERE domain='%s'
    hosts = 127.0.0.1
    
    main.cf
    Code:
    # See /usr/share/postfix/main.cf.dist for a commented, more complete version
    
    
    # Debian specific:  Specifying a file name will cause the first
    # line of that file to be used as the name.  The Debian default
    # is /etc/mailname.
    #myorigin = /etc/mailname
    
    smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
    biff = no
    
    # appending .domain is the MUA's job.
    append_dot_mydomain = no
    
    # Uncomment the next line to generate "delayed mail" warnings
    #delay_warning_time = 4h
    
    # TLS parameters
    smtpd_tls_cert_file = /etc/postfix/smtpd.cert
    smtpd_tls_key_file = /etc/postfix/smtpd.key
    smtpd_use_tls = yes
    smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
    smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
    
    # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
    # information on enabling SSL in the smtp client.
    
    myhostname = oneclick-login.de
    alias_maps = hash:/etc/aliases
    alias_database = hash:/etc/aliases
    myorigin = /etc/mailname
    mydestination = oneclick-login.de, localhost, localhost.localdomain
    relayhost =
    mynetworks = 127.0.0.0/8
    mailbox_size_limit = 0
    recipient_delimiter = +
    inet_interfaces = all
    virtual_alias_domains =
    virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
    virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
    virtual_mailbox_base = /home/vmail
    virtual_uid_maps = static:5000
    virtual_gid_maps = static:5000
    smtpd_sasl_auth_enable = yes
    broken_sasl_auth_clients = yes
    smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
    transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
    virtual_create_maildirsize = yes
    virtual_maildir_extended = yes
    virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf
    virtual_mailbox_limit_override = yes
    virtual_maildir_limit_message = "The user you are trying to reach is over quota."
    virtual_overquota_bounce = yes
    proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
    content_filter = amavis:[127.0.0.1]:10024
    receive_override_options = no_address_mappings
    
    master.cf
    Code:
    #
    # Postfix master process configuration file.  For details on the format
    # of the file, see the master(5) manual page (command: "man 5 master").
    #
    # ==========================================================================
    # service type  private unpriv  chroot  wakeup  maxproc command + args
    #               (yes)   (yes)   (yes)   (never) (100)
    # ==========================================================================
    smtp      inet  n       -       -       -       -       smtpd
    #submission inet n       -       -       -       -       smtpd
    #  -o smtpd_enforce_tls=yes
    #  -o smtpd_sasl_auth_enable=yes
    #  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
    #smtps     inet  n       -       -       -       -       smtpd
    #  -o smtpd_tls_wrappermode=yes
    #  -o smtpd_sasl_auth_enable=yes
    #  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
    #628      inet  n       -       -       -       -       qmqpd
    pickup    fifo  n       -       -       60      1       pickup
    cleanup   unix  n       -       -       -       0       cleanup
    qmgr      fifo  n       -       n       300     1       qmgr
    #qmgr     fifo  n       -       -       300     1       oqmgr
    tlsmgr    unix  -       -       -       1000?   1       tlsmgr
    rewrite   unix  -       -       -       -       -       trivial-rewrite
    bounce    unix  -       -       -       -       0       bounce
    defer     unix  -       -       -       -       0       bounce
    trace     unix  -       -       -       -       0       bounce
    verify    unix  -       -       -       -       1       verify
    flush     unix  n       -       -       1000?   0       flush
    proxymap  unix  -       -       n       -       -       proxymap
    smtp      unix  -       -       -       -       -       smtp
    # When relaying mail as backup MX, disable fallback_relay to avoid MX loops
    relay     unix  -       -       -       -       -       smtp
            -o fallback_relay=
    #       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
    showq     unix  n       -       -       -       -       showq
    error     unix  -       -       -       -       -       error
    discard   unix  -       -       -       -       -       discard
    local     unix  -       n       n       -       -       local
    virtual   unix  -       n       n       -       -       virtual
    lmtp      unix  -       -       -       -       -       lmtp
    anvil     unix  -       -       -       -       1       anvil
    scache    unix  -       -       -       -       1       scache
    #
    # ====================================================================
    # Interfaces to non-Postfix software. Be sure to examine the manual
    # pages of the non-Postfix software to find out what options it wants.
    #
    # Many of the following services use the Postfix pipe(8) delivery
    # agent.  See the pipe(8) man page for information about ${recipient}
    # and other message envelope options.
    # ====================================================================
    #
    # maildrop. See the Postfix MAILDROP_README file for details.
    # Also specify in main.cf: maildrop_destination_recipient_limit=1
    #
    maildrop  unix  -       n       n       -       -       pipe
      flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
    #
    # See the Postfix UUCP_README file for configuration details.
    #
    uucp      unix  -       n       n       -       -       pipe
      flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
    #
    # Other external delivery methods.
    #
    ifmail    unix  -       n       n       -       -       pipe
      flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
    bsmtp     unix  -       n       n       -       -       pipe
      flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
    scalemail-backend unix  -       n       n       -       2       pipe
      flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
    mailman   unix  -       n       n       -       -       pipe
      flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
      ${nexthop} ${user}
    
    amavis unix - - - - 2 smtp
            -o smtp_data_done_timeout=1200
            -o smtp_send_xforward_command=yes
    
    127.0.0.1:10025 inet n - - - - smtpd
            -o content_filter=
            -o local_recipient_maps=
            -o relay_recipient_maps=
            -o smtpd_restriction_classes=
            -o smtpd_client_restrictions=
            -o smtpd_helo_restrictions=
            -o smtpd_sender_restrictions=
            -o smtpd_recipient_restrictions=permit_mynetworks,reject
            -o mynetworks=127.0.0.0/8
            -o strict_rfc821_envelopes=yes
            -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
            -o smtpd_bind_address=127.0.0.1
    
    /etc/default/saslauthd
    Code:
    #
    # Settings for saslauthd daemon
    #
    
    # Should saslauthd run automatically on startup? (default: no)
    START=yes
    
    # Which authentication mechanisms should saslauthd use? (default: pam)
    #
    # Available options in this Debian package:
    # getpwent  -- use the getpwent() library function
    # kerberos5 -- use Kerberos 5
    # pam       -- use PAM
    # rimap     -- use a remote IMAP server
    # shadow    -- use the local shadow password file
    # sasldb    -- use the local sasldb database file
    # ldap      -- use LDAP (configuration is in /etc/saslauthd.conf)
    #
    # Only one option may be used at a time. See the saslauthd man page
    # for more information.
    #
    # Example: MECHANISMS="pam"
    MECHANISMS="pam"
    
    # Additional options for this mechanism. (default: none)
    # See the saslauthd man page for information about mech-specific options.
    MECH_OPTIONS=""
    
    # How many saslauthd processes should we run? (default: 5)
    # A value of 0 will fork a new process for each connection.
    THREADS=5
    
    # Other options (default: -c)
    # See the saslauthd man page for information about these options.
    #
    # Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd"
    # Note: See /usr/share/doc/sasl2-bin/README.Debian
    OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
    
    /etc/pam.d/smtp
    Code:
    auth    required   pam_mysql.so user=mail_admin passwd=password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1
    account sufficient pam_mysql.so user=mail_admin passwd=password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1
    
    /etc/default/saslauthd
    Code:
    #
    # Settings for saslauthd daemon
    #
    
    # Should saslauthd run automatically on startup? (default: no)
    START=yes
    
    # Which authentication mechanisms should saslauthd use? (default: pam)
    #
    # Available options in this Debian package:
    # getpwent  -- use the getpwent() library function
    # kerberos5 -- use Kerberos 5
    # pam       -- use PAM
    # rimap     -- use a remote IMAP server
    # shadow    -- use the local shadow password file
    # sasldb    -- use the local sasldb database file
    # ldap      -- use LDAP (configuration is in /etc/saslauthd.conf)
    #
    # Only one option may be used at a time. See the saslauthd man page
    # for more information.
    #
    # Example: MECHANISMS="pam"
    MECHANISMS="pam"
    
    # Additional options for this mechanism. (default: none)
    # See the saslauthd man page for information about mech-specific options.
    MECH_OPTIONS=""
    
    # How many saslauthd processes should we run? (default: 5)
    # A value of 0 will fork a new process for each connection.
    THREADS=5
    
    # Other options (default: -c)
    # See the saslauthd man page for information about these options.
    #
    # Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd"
    # Note: See /usr/share/doc/sasl2-bin/README.Debian
    OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
    
    /etc/postfix/sasl/smtpd.conf
    Code:
    pwcheck_method: saslauthd
    mech_list: plain login
    allow_plaintext: true
    auxprop_plugin: mysql
    sql_hostnames: 127.0.0.1
    sql_user: mail_admin
    sql_passwd: password
    sql_database: mail
    sql_select: select password from users where email = '%u'
    
    /etc/courier/authdaemonrc
    Code:
    
    ##VERSION: $Id: authdaemonrc.in,v 1.13 2005/10/05 00:07:32 mrsam Exp $
    #
    # Copyright 2000-2005 Double Precision, Inc.  See COPYING for
    # distribution information.
    #
    # authdaemonrc created from authdaemonrc.dist by sysconftool
    #
    # Do not alter lines that begin with ##, they are used when upgrading
    # this configuration.
    #
    # This file configures authdaemond, the resident authentication daemon.
    #
    # Comments in this file are ignored.  Although this file is intended to
    # be sourced as a shell script, authdaemond parses it manually, so
    # the acceptable syntax is a bit limited.  Multiline variable contents,
    # with the \ continuation character, are not allowed.  Everything must
    # fit on one line.  Do not use any additional whitespace for indentation,
    # or anything else.
    
    ##NAME: authmodulelist:2
    #
    # The authentication modules that are linked into authdaemond.  The
    # default list is installed.  You may selectively disable modules simply
    # by removing them from the following list.  The available modules you
    # can use are: authuserdb authpam authpgsql authldap authmysql authcustom authpipe
    
    authmodulelist="authmysql"
    
    ##NAME: authmodulelistorig:3
    #
    # This setting is used by Courier's webadmin module, and should be left
    # alone
    
    authmodulelistorig="authuserdb authpam authpgsql authldap authmysql authcustom authpipe"
    
    ##NAME: daemons:0
    #
    # The number of daemon processes that are started.  authdaemon is typically
    # installed where authentication modules are relatively expensive: such
    # as authldap, or authmysql, so it's better to have a number of them running.
    # PLEASE NOTE:  Some platforms may experience a problem if there's more than
    # one daemon.  Specifically, SystemV derived platforms that use TLI with
    # socket emulation.  I'm suspicious of TLI's ability to handle multiple
    # processes accepting connections on the same filesystem domain socket.
    #
    # You may need to increase daemons if as your system load increases.  Symptoms
    # include sporadic authentication failures.  If you start getting
    # authentication failures, increase daemons.  However, the default of 5
    # SHOULD be sufficient.  Bumping up daemon count is only a short-term
    # solution.  The permanent solution is to add more resources: RAM, faster
    # disks, faster CPUs...
    
    daemons=5
    
    ##NAME: authdaemonvar:2
    #
    # authdaemonvar is here, but is not used directly by authdaemond.  It's
    # used by various configuration and build scripts, so don't touch it!
    
    authdaemonvar=/var/run/courier/authdaemon
    
    ##NAME: DEBUG_LOGIN:0
    #
    # Dump additional diagnostics to syslog
    #
    # DEBUG_LOGIN=0   - turn off debugging
    # DEBUG_LOGIN=1   - turn on debugging
    # DEBUG_LOGIN=2   - turn on debugging + log passwords too
    #
    # ** YES ** - DEBUG_LOGIN=2 places passwords into syslog.
    #
    # Note that most information is sent to syslog at level 'debug', so
    # you may need to modify your /etc/syslog.conf to be able to see it.
    
    DEBUG_LOGIN=0
    
    ##NAME: DEFAULTOPTIONS:0
    #
    # A comma-separated list of option=value pairs. Each option is applied
    # to an account if the account does not have its own specific value for
    # that option. So for example, you can set
    #   DEFAULTOPTIONS="disablewebmail=1,disableimap=1"
    # and then enable webmail and/or imap on individual accounts by setting
    # disablewebmail=0 and/or disableimap=0 on the account.
    
    DEFAULTOPTIONS=""
    
    ##NAME: LOGGEROPTS:0
    #
    # courierlogger(1) options, e.g. to set syslog facility
    #
    
    LOGGEROPTS=""
    
    ##NAME: LDAP_TLS_OPTIONS:0
    #
    # Options documented in ldap.conf(5) can be set here, prefixed with 'LDAP'.
    # Examples:
    #
    #LDAPTLS_CACERT=/path/to/cacert.pem
    #LDAPTLS_REQCERT=demand
    #LDAPTLS_CERT=/path/to/clientcert.pem
    #LDAPTLS_KEY=/path/to/clientkey.pem
    
    /etc/courier/authmysqlrc
    Code:
    ##NAME: DEBUG_LOGIN:0
    #
    # Dump additional diagnostics to syslog
    #
    # DEBUG_LOGIN=0   - turn off debugging
    # DEBUG_LOGIN=1   - turn on debugging
    # DEBUG_LOGIN=2   - turn on debugging + log passwords too
    #
    # ** YES ** - DEBUG_LOGIN=2 places passwords into syslog.
    #
    # Note that most information is sent to syslog at level 'debug', so
    # you may need to modify your /etc/syslog.conf to be able to see it.
    
    DEBUG_LOGIN=0
    
    ##NAME: DEFAULTOPTIONS:0
    #
    # A comma-separated list of option=value pairs. Each option is applied
    # to an account if the account does not have its own specific value for
    # that option. So for example, you can set
    #   DEFAULTOPTIONS="disablewebmail=1,disableimap=1"
    # and then enable webmail and/or imap on individual accounts by setting
    # disablewebmail=0 and/or disableimap=0 on the account.
    
    DEFAULTOPTIONS=""
    
    ##NAME: LOGGEROPTS:0
    #
    # courierlogger(1) options, e.g. to set syslog facility
    #
    
    LOGGEROPTS=""
    
    ##NAME: LDAP_TLS_OPTIONS:0
    #
    # Options documented in ldap.conf(5) can be set here, prefixed with 'LDAP'.
    # Examples:
    #
    #LDAPTLS_CACERT=/path/to/cacert.pem
    #LDAPTLS_REQCERT=demand
    #LDAPTLS_CERT=/path/to/clientcert.pem
    #LDAPTLS_KEY=/path/to/clientkey.pem
    kruseltech:/home/henze# cat /etc/courier/authmysqlrc
    MYSQL_SERVER localhost
    MYSQL_USERNAME mail_admin
    MYSQL_PASSWORD password
    MYSQL_PORT 0
    MYSQL_DATABASE mail
    MYSQL_USER_TABLE users
    MYSQL_CRYPT_PWFIELD password
    #MYSQL_CLEAR_PWFIELD password
    MYSQL_UID_FIELD 5000
    MYSQL_GID_FIELD 5000
    MYSQL_LOGIN_FIELD email
    MYSQL_HOME_FIELD "/home/vmail"
    MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')
    #MYSQL_NAME_FIELD
    MYSQL_QUOTA_FIELD quota
    
    /etc/aliases
    Code:
    
    # See man 5 aliases for format
    postmaster:    root
    root: kruseltier@gmx.de
    
    clamav: root
    amavis: root
    
    mysql query log
    Code:
    
    090618  2:20:57     185 Connect     mail_admin@localhost on mail
                        185 Query       SELECT transport FROM transport WHERE domain='*'
                        185 Query       SELECT transport FROM transport WHERE domain='*'
                        186 Connect     mail_admin@localhost on mail
                        186 Query       SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='gmx.de'
                        185 Query       SELECT transport FROM transport WHERE domain='kruseltier@gmx.de'
                        185 Query       SELECT transport FROM transport WHERE domain='gmx.de'
                        185 Query       SELECT transport FROM transport WHERE domain='.de'
                        186 Query       SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='oneclick-login.de'
                        185 Query       SELECT transport FROM transport WHERE domain='hendrik@oneclick-login.de'
                        185 Query       SELECT transport FROM transport WHERE domain='oneclick-login.de'
                        185 Query       SELECT transport FROM transport WHERE domain='.de'
                        187 Connect     mail_admin@localhost on mail
                        187 Query       SELECT destination FROM forwardings WHERE source='hendrik@oneclick-login.de'
                        188 Connect     mail_admin@localhost on mail
                        188 Query       SELECT email FROM users WHERE email='hendrik@oneclick-login.de'
    090618  2:21:00     186 Query       SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='gmx.de'
                        185 Query       SELECT transport FROM transport WHERE domain='kruseltier@gmx.de'
                        185 Query       SELECT transport FROM transport WHERE domain='gmx.de'
                        185 Query       SELECT transport FROM transport WHERE domain='.de'
                        186 Query       SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='oneclick-login.de'
                        185 Query       SELECT transport FROM transport WHERE domain='hendrik@oneclick-login.de'
                        185 Query       SELECT transport FROM transport WHERE domain='oneclick-login.de'
                        185 Query       SELECT transport FROM transport WHERE domain='.de'
                        187 Query       SELECT destination FROM forwardings WHERE source='hendrik@oneclick-login.de'
                        189 Connect     mail_admin@localhost on mail
                        189 Query       SELECT email FROM users WHERE email='hendrik@oneclick-login.de'
                        186 Query       SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='oneclick-login.de'
                        185 Query       SELECT transport FROM transport WHERE domain='hendrik@oneclick-login.de'
                        185 Query       SELECT transport FROM transport WHERE domain='oneclick-login.de'
                        185 Query       SELECT transport FROM transport WHERE domain='.de'
                        187 Query       SELECT destination FROM forwardings WHERE source='kruseltier@gmx.de'
                        189 Query       SELECT email FROM users WHERE email='kruseltier@gmx.de'
                        187 Query       SELECT destination FROM forwardings WHERE source='@gmx.de'
                        189 Query       SELECT email FROM users WHERE email='@gmx.de'
                        186 Query       SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='gmx.de'
                        185 Query       SELECT transport FROM transport WHERE domain='kruseltier@gmx.de'
                        185 Query       SELECT transport FROM transport WHERE domain='gmx.de'
                        185 Query       SELECT transport FROM transport WHERE domain='.de'
    090618  2:21:57     188 Quit
    
    In the query log i think something is strange. Only one of these querys going to domain oneclick-login.de

    CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='oneclick-login.de'

    and no one selects something like this (full email with username):
    CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='hendrik@oneclick-login.de'

    Here are the queries of our mysql tables:

    mysql> select * from users;
    +---------------------------+---------------+-----------+
    | email | password | quota |
    +---------------------------+---------------+-----------+
    | henze@oneclick-login.de | lP50XA0aT54Mk | 104857600 |
    | hendrik@oneclick-login.de | qZhwbWd0W5Kck | 10485760 |
    +---------------------------+---------------+-----------+
    2 rows in set (0.00 sec)

    mysql> select * from domains;
    +-------------------+
    | domain |
    +-------------------+
    | oneclick-login.de |
    +-------------------+
    1 row in set (0.00 sec)


    If you need other config or logfiles please tell me and i will post them.

    We try to get it work for a few full days !!

    Please can you help us ?

    bye and thanks

    Kruser
     
  2. Kruser

    Kruser New Member

    I ´ve just realized that i´ve forgotten following line in the main.cf

    virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf

    but the failure is still the same.
    Still the mysql query log has changed. Here the new version:

    Code:
    090618  4:48:21      29 Connect     mail_admin@localhost on mail
                         29 Query       SELECT transport FROM transport WHERE domain='*'
                         29 Query       SELECT transport FROM transport WHERE domain='*'
                         30 Connect     mail_admin@localhost on mail
                         30 Query       SELECT domain AS virtual FROM domains WHERE domain='gmx.de'
                         29 Query       SELECT transport FROM transport WHERE domain='kruseltier@gmx.de'
                         29 Query       SELECT transport FROM transport WHERE domain='gmx.de'
                         29 Query       SELECT transport FROM transport WHERE domain='.de'
                         30 Query       SELECT domain AS virtual FROM domains WHERE domain='oneclick-login.de'
                         29 Query       SELECT transport FROM transport WHERE domain='hendrik@oneclick-login.de'
                         29 Query       SELECT transport FROM transport WHERE domain='oneclick-login.de'
                         29 Query       SELECT transport FROM transport WHERE domain='.de'
                         31 Connect     mail_admin@localhost on mail
                         31 Query       SELECT destination FROM forwardings WHERE source='hendrik@oneclick-login.de'
                         32 Connect     mail_admin@localhost on mail
                         32 Query       SELECT email FROM users WHERE email='hendrik@oneclick-login.de'
    090618  4:48:23      30 Query       SELECT domain AS virtual FROM domains WHERE domain='gmx.de'
                         29 Query       SELECT transport FROM transport WHERE domain='kruseltier@gmx.de'
                         29 Query       SELECT transport FROM transport WHERE domain='gmx.de'
                         29 Query       SELECT transport FROM transport WHERE domain='.de'
                         30 Query       SELECT domain AS virtual FROM domains WHERE domain='oneclick-login.de'
                         29 Query       SELECT transport FROM transport WHERE domain='hendrik@oneclick-login.de'
                         29 Query       SELECT transport FROM transport WHERE domain='oneclick-login.de'
                         29 Query       SELECT transport FROM transport WHERE domain='.de'
                         31 Query       SELECT destination FROM forwardings WHERE source='hendrik@oneclick-login.de'
                         33 Connect     mail_admin@localhost on mail
                         33 Query       SELECT email FROM users WHERE email='hendrik@oneclick-login.de'
                         30 Query       SELECT domain AS virtual FROM domains WHERE domain='oneclick-login.de'
                         29 Query       SELECT transport FROM transport WHERE domain='hendrik@oneclick-login.de'
                         29 Query       SELECT transport FROM transport WHERE domain='oneclick-login.de'
                         29 Query       SELECT transport FROM transport WHERE domain='.de'
                         31 Query       SELECT destination FROM forwardings WHERE source='kruseltier@gmx.de'
                         33 Query       SELECT email FROM users WHERE email='kruseltier@gmx.de'
                         31 Query       SELECT destination FROM forwardings WHERE source='@gmx.de'
                         33 Query       SELECT email FROM users WHERE email='@gmx.de'
                         30 Query       SELECT domain AS virtual FROM domains WHERE domain='gmx.de'
                         29 Query       SELECT transport FROM transport WHERE domain='kruseltier@gmx.de'
                         29 Query       SELECT transport FROM transport WHERE domain='gmx.de'
                         29 Query       SELECT transport FROM transport WHERE domain='.de'
    090618  4:49:21      32 Quit
    090618  4:49:23      31 Quit
                         30 Quit
                         29 Quit
                         33 Quit
    
     
  3. falko

    falko Super Moderator Howtoforge Staff Moderator HowtoForge Supporter ISPConfig Developer

    The problem is that you're using oneclick-login.de in the domains table and in mydestination/myhostname in /etc/postfix/main.cf. This doesn't work. Domains that are in the domains table must not be in main.cf.
     
  4. Kruser

    Kruser New Member

    Thanks falko. That was the problem! Now it works great :)

    bye
    Kruser
     

Share This Page