User Tools

Site Tools


start:howto:dovecot_plus_database_quota

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start:howto:dovecot_plus_database_quota [2012/08/23 08:29]
aseques
start:howto:dovecot_plus_database_quota [2013/06/21 07:36] (current)
aseques removed the subdomain part since it didn't work and isn't of much interest
Line 1: Line 1:
-===== Dovecot ​modifications from default imscp install =====+===== Email modifications from default imscp install =====
 This is an improved version from the original article in ispcp (http://​isp-control.net/​documentation/​howto:​mail:​replace_courier_with_dovecot) This is an improved version from the original article in ispcp (http://​isp-control.net/​documentation/​howto:​mail:​replace_courier_with_dovecot)
-All the parts related to the default install ​where removed since imscp already takes care of thatand it'​s ​focused to add the functionality that is available only on dovecot (instead of courier). +The default install ​suits most of the needsso this document is focused to add some functionality that is available only on dovecot (not always in courier). 
-The required dovecot version is now 1.2 (squeeze'​s default)+The required dovecot version is now 1.2 (squeeze'​s default) ​or newer.
  
-===== Changes from standard ​dovecot ​in imscp ===== +==== Changes from standard ​mail setup in imscp ==== 
-  * Alias and subdomains ​can be used as a full mail domains +  * Alias can be used as a full mail domains 
-  * Global sieve filtering+  * Global sieve filtering ​(already enabled by default but without config)
  
-===== Reasons to use dovecot ​=====+==== Reasons to use dovecot ====
  
   * You can do server-side filtering with sieve (for example saving spam to junk folder)   * You can do server-side filtering with sieve (for example saving spam to junk folder)
Line 20: Line 20:
 Please report any bugs/​hints/​whatever in the following board thread: Please report any bugs/​hints/​whatever in the following board thread:
 http://​forum.i-mscp.net/​showthread.php?​tid=61 http://​forum.i-mscp.net/​showthread.php?​tid=61
- +==== Replace Courier with Dovecot ====
-**NOTE:** There are currently no means to configure the quota for imscp other than fiddling with the database. The functionality from http://​www.isp-control.net/​forum/​thread-8483.html should be imported. +
- +
-**NOTE:** If you want to edit the quota directly; it is stored in bytes in the table "​mail_users"​ in a field named "​quota"​. +
- +
-===== Replace Courier with Dovecot ​=====+
  
 You can do it by re-running the installer and changing the default imap server when asked you can choose between courier or dovecot. You can do it by re-running the installer and changing the default imap server when asked you can choose between courier or dovecot.
  
-===== Optional features ​=====+===== Global sieve filtering ​=====
  
-==== Global sieve filtering ==== +Dovecot will look for the global ​sieve script located in /​etc/​dovecot/​sieve/​dovecot.sieve,​ it can be edited to suit your needs with more functionality. 
- +In the sample below, ​it moves all the mails tagged as spam to the Junk folder of the mail user:
-There is the global script located in /​etc/​dovecot/​sieve/​dovecot.sieve,​ it can be edited to suit your needs with more functionality. +
-In the default install ​it moves all the mails tagged as spam to the Junk folder of the mail user, if for some reason you don't have that script created, the content should be this one:+
  
 <​code>​require "​fileinto";​ <​code>​require "​fileinto";​
Line 43: Line 36:
  }  }
 }</​code>​ }</​code>​
- 
- 
  
 More info about sieve syntax and usage: http://​wiki.dovecot.org/​LDA/​Sieve More info about sieve syntax and usage: http://​wiki.dovecot.org/​LDA/​Sieve
  
-==== Use domain alias/​subdomain ​as a mail alias ====+===== Use domain alias as a mail alias =====
  
 By doing a small change in postfix configuration,​ we can use the domain alias as a mail ailas. By doing a small change in postfix configuration,​ we can use the domain alias as a mail ailas.
 Being example2.com an alias of example1.com,​ whenever we create a mailbox in example1.com the same mailbox in example2.com becomes a redirection. Being example2.com an alias of example1.com,​ whenever we create a mailbox in example1.com the same mailbox in example2.com becomes a redirection.
 So creating [email protected] will also receive the mail from [email protected] automatically. That can be used when a customer don't want the hassle of managing two mail domain (and having to set manually every mail address two times). So creating [email protected] will also receive the mail from [email protected] automatically. That can be used when a customer don't want the hassle of managing two mail domain (and having to set manually every mail address two times).
 +
 +
 +==== The changes we have to do in postfix ====
 +
 +In the file main.cf (proposed changes are for the template), from:
 +  virtual_mailbox_domains = hash:​{MTA_VIRTUAL_DMN_HASH}
 +  virtual_alias_maps ​          = hash:​{MTA_VIRTUAL_ALIAS_HASH}
 +
 +To: 
 +
 +  #​virtual_mailbox_domains = hash:​{MTA_VIRTUAL_DMN_HASH}
 +  virtual_mailbox_domains ​     = mysql:/​etc/​postfix/​mysql_virtual_domains.cf
 +  ​
 +  #​virtual_alias_maps ​          = hash:​{MTA_VIRTUAL_ALIAS_HASH}
 +  virtual_alias_maps ​          = hash:​{MTA_VIRTUAL_ALIAS_HASH},​ mysql:/​etc/​postfix/​mysql_virtual_forwards.cf
 +
 +
 +
  
 /​etc/​postfix/​mysql_virtual_domains.cf /​etc/​postfix/​mysql_virtual_domains.cf
Line 63: Line 72:
                 INNER JOIN domain ​ ON domain_aliasses.domain_id=domain.domain_id ​                 INNER JOIN domain ​ ON domain_aliasses.domain_id=domain.domain_id ​
                 WHERE domain.domain_status='​ok'​                 WHERE domain.domain_status='​ok'​
 +                        AND domain_aliasses.alias_status='​ok'​
                         AND domain.domain_mailacc_limit > '​-1'​                         AND domain.domain_mailacc_limit > '​-1'​
                         AND domain_aliasses.alias_name='​%s'​)                         AND domain_aliasses.alias_name='​%s'​)
Line 84: Line 94:
         INNER JOIN domain_aliasses ON domain.domain_id = domain_aliasses.domain_id         INNER JOIN domain_aliasses ON domain.domain_id = domain_aliasses.domain_id
         WHERE domain_aliasses.alias_name = '​%d'​ AND mail_users.mail_acc = '​%u'​         WHERE domain_aliasses.alias_name = '​%d'​ AND mail_users.mail_acc = '​%u'​
-</​code>​ 
- 
-If you want the subdomains to be able to receive mail create this file: 
-**/​etc/​dovecot/​dovecot-sql-subdomain.conf** ​ 
-with the following content: 
- 
-<​code>​ 
-driver = mysql 
-connect = host=localhost dbname=imscp user=imscp_dovecot password=PASS_MAILRW 
-user_query = SELECT CONCAT('/​var/​mail/​virtual/',​ subdomain.subdomain_name,​ "​.",​ domain.domain_name,​ '/',​mail_acc) AS home, '​1001'​ AS uid, '​8'​ AS gid FROM (mail_users INNER JOIN subdomain ON mail_users.sub_id = subdomain.subdomain_id) INNER JOIN domain ON mail_users.domain_id = domain.domain_id WHERE mail_acc='​%n'​ and concat(subdomain.subdomain_name,"​.",​domain.domain_name)='​%d';​ 
 </​code>​ </​code>​
  
Line 115: Line 115:
   }   }
  
-===== Frequent issues ​=====+===== Deprecated documentation (pending to be purged) ​===== 
 + 
 +**NOTE:** In the SQL query for user_query there are uids and gids '​hardcoded'​. The uid must be the uid of your vmail user and gid the gid of the mail group. Maybe you have to change the defaults (1001/8)) 
 ==== Adapt postfix master.cf ==== ==== Adapt postfix master.cf ====
  
Line 136: Line 139:
     flags=DROhu user=vmail:​mail argv=/​usr/​libexec/​dovecot/​deliver -f ${sender} -d ${recipient}     flags=DROhu user=vmail:​mail argv=/​usr/​libexec/​dovecot/​deliver -f ${sender} -d ${recipient}
  
-===== Older documentation (pending to be purged) ===== 
- 
-**NOTE:** In the SQL query for user_query there are uids and gids '​hardcoded'​. The uid must be the uid of your vmail user and gid the gid of the mail group. Maybe you have to change the defaults (1001/8)) 
/var/www/virtual/i-mscp.net/wiki/htdocs/data/attic/start/howto/dovecot_plus_database_quota.1345710599.txt.gz · Last modified: 2012/08/23 08:29 by aseques