postfix and mail quota is not working,

Discussion in 'Server Operation' started by timreichhart, Jul 25, 2010.

  1. timreichhart

    timreichhart New Member

    Hi Guys
    I am using postfix 2.6.5/dovecot/mysql/squirrelmail/quota (ubuntu 9.10 server)and I need to know what I need to know how to make this quota to work? Also is there an automatic message tell the user they are getting full?


    here is my posfix 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
    biff = no
    
    
    # TLS parameters
    smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    smtpd_use_tls=yes
    smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
    smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
    
    # appending .domain is the MUA's job.
    append_dot_mydomain = no
    
    # Uncomment the next line to generate "delayed mail" warnings
    #delay_warning_time = 4h
    
    readme_directory = no
    
    
    myhostname = mail.n.com
    alias_maps = hash:/etc/aliases
    alias_database = hash:/etc/aliases
    myorigin = /etc/mailname
    mydestination = $myhostname, localhost.localdomain, localhost
    relayhost = 
    mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
    mailbox_command = procmail -a "$EXTENSION"
    mailbox_size_limit = 0
    recipient_delimiter = +
    inet_interfaces = all
    virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
    virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.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
    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
    smtpd_sasl_auth_enable = yes
    broken_sasl_auth_clients = yes
    smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
    smtpd_sasl_path = private/auth
    smtpd_sasl_type = dovecot
    
    
    virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
    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
    
    
    

    and here is my master.cf code:

    Code:
    #
    # Postfix master process configuration file.  For details on the format
    # of the file, see the master(5) manual page (command: "man 5 master").
    #
    # Do not forget to execute "postfix reload" after editing this file.
    #
    # ==========================================================================
    # service type  private unpriv  chroot  wakeup  maxproc command + args
    #               (yes)   (yes)   (yes)   (never) (100)
    # ==========================================================================
    smtp      inet  n       -       -       -       -       smtpd
            -o content_filter=spamassassin
    
    #submission inet n       -       -       -       -       smtpd
    #  -o smtpd_tls_security_level=encrypt
    #  -o smtpd_sasl_auth_enable=yes
    #  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
    #  -o milter_macro_daemon_name=ORIGINATING
    
    #smtps     inet  n       -       -       -       -       smtpd
    #  -o smtpd_tls_wrappermode=yes
    #  -o smtpd_sasl_auth_enable=yes
    #  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
    #  -o milter_macro_daemon_name=ORIGINATING
    
    #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
    proxywrite unix -       -       n       -       1       proxymap
    smtp      unix  -       -       -       -       -       smtp
    # When relaying mail as backup MX, disable fallback_relay to avoid MX loops
    relay     unix  -       -       -       -       -       smtp
        -o smtp_fallback_relay=
    #       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
    showq     unix  n       -       -       -       -       showq
    error     unix  -       -       -       -       -       error
    retry     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}
    
    spamassassin unix -     n       n       -       -       pipe
            user=nobody argv=/usr/bin/spamc -f -e
            /usr/sbin/sendmail -oi -f ${sender} ${recipient}
    
    smtp-amavis     unix    -       -       -       -       2       smtp
            -o smtp_data_done_timeout=1200
            -o smtp_send_xforward_command=yes
            -o disable_dns_lookups=yes
            -o max_use=20
    
    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_delay_reject=no
            -o smtpd_client_restrictions=permit_mynetworks,reject
            -o smtpd_helo_restrictions=
            -o smtpd_sender_restrictions=
            -o smtpd_recipient_restrictions=permit_mynetworks,reject
            -o smtpd_data_restrictions=reject_unauth_pipelining
            -o smtpd_end_of_data_restrictions=
            -o mynetworks=127.0.0.0/8
            -o smtpd_error_sleep_time=0
            -o smtpd_soft_error_limit=1001
            -o smtpd_hard_error_limit=1000
            -o smtpd_client_connection_count_limit=0
            -o smtpd_client_connection_rate_limit=0
            -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
             -o content_filter=
             -o receive_override_options=no_header_body_checks
    
     
  2. timreichhart

    timreichhart New Member

    after 94 views and still no help?
     
  3. falko

    falko Super Moderator Howtoforge Staff

    What tutorial (URL) did you use? Any errors in your mail log?
     
  4. timreichhart

    timreichhart New Member

    here was no tutorials I even used I had somebody who managed a web site hosting company to help me and I dont see any errors in the logs.
     
  5. timreichhart

    timreichhart New Member

    but this is how we set it up:

    Code:
    apt-get install mysql-server
    
    apt-get install postfix-mysql
    
     
    
     
    
    /etc/postfix/main.cf
    
     
    
    myhostname = mail.test.net
    
    virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
    
    virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.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
    
    transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
    
    virtual_create_maildirsize = yes
    
     
    
     
    
     
    
    /etc/postfix/mysql-virtual_forwardings.cf
    
    user = mail_admin
    
    password = HNTdVoxVmPWPC9fY0SuneDPq7Eej
    
    dbname = mail
    
    query = SELECT destination FROM forwardings WHERE source='%s'
    
    hosts = 127.0.0.1
    
     
    
    /etc/postfix/mysql-virtual_email2email.cf
    
    user = mail_admin
    
    password = HNTdVoxVmPWPC9fY0SuneDPq7Eej
    
    dbname = mail
    
    query = SELECT email FROM users WHERE email='%s'
    
    hosts = 127.0.0.1
    
     
    
    /etc/postfix/mysql-virtual_domains.cf
    
    user = mail_admin
    
    password = HNTdVoxVmPWPC9fY0SuneDPq7Eej
    
    dbname = mail
    
    query = SELECT domain as virtual from domains where domain='%s'
    
    hosts = 127.0.0.1
    
     
    
    /etc/postfix/mysql-virtual_mailboxes.cf
    
    user = mail_admin
    
    password = HNTdVoxVmPWPC9fY0SuneDPq7Eej
    
    dbname = mail
    
    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
    
    user = mail_admin
    
    password = HNTdVoxVmPWPC9fY0SuneDPq7Eej
    
    dbname = mail
    
    query = SELECT transport FROM transport WHERE domain='%s'
    
    hosts = 127.0.0.1
    
     
    
     
    
    CREATE DATABASE mail;
    
     
    
    CREATE TABLE `domains` (
    
      `domain` varchar(50) NOT NULL,
    
      PRIMARY KEY  (`domain`)
    
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    
     
    
    CREATE TABLE `forwardings` (
    
      `source` varchar(80) NOT NULL,
    
      `destination` text NOT NULL,
    
      PRIMARY KEY  (`source`)
    
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    
     
    
    CREATE TABLE `transport` (
    
      `domain` varchar(128) NOT NULL default '',
    
      `transport` varchar(128) NOT NULL default '',
    
      UNIQUE KEY `domain` (`domain`)
    
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    
     
    
    CREATE TABLE `users` (
    
      `email` varchar(80) NOT NULL,
    
      `password` varchar(20) NOT NULL,
    
      `quota` int(10) default '10485760',
    
      PRIMARY KEY  (`email`)
    
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    
     
    
    grant all on mail.* to mail_admin@'localhost' identified by 'HNTdVoxVmPWPC9fY0SuneDPq7Eej';
    
    insert into users (`email`, `password`, `quota`) values ('[email protected]', encrypt('PLAIN_TEXT_PASS'), 1024);
    
    insert into domains (`domain`) values  ('test.net');
     
  6. falko

    falko Super Moderator Howtoforge Staff

  7. timreichhart

    timreichhart New Member

    see that only support Courier not dovecot so how would I make this patch to work with dovecot?
     
  8. timreichhart

    timreichhart New Member

    anybody going to help with this besides a how to guide?
     

Share This Page