[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Postfixadmin



Il 07/04/2011 15:20, Domenico Rotella ha scritto:
secondo me stai perdendo del tempo su una cosa inutile. Configuri postfix, se hai impostato le quote su postfix sarà lui a generare un messaggio d'errore per il limite raggiunto, e questo lo gestisci appunto dalla configurazione di postfix. Postfixadmin non è altro che un'interfaccia per la creazione di domini, utenti e alias
Forse mi sono spiegato male. Il mio obiettivo nell'uso di postfixadmin è per l'interazione con il db di postfix, infatti il mio primo studio non includeva l'utilizzo di postfixadmin. La mia domanda riguardava se usare le quote con postfix o se usare le quote con dovecot, anche se penso che non cambi molto. Ulteriormente, dato che su postfixadmin è possibile impostare una quota in MB, mi interessava sapere su cosa andava ad agire il valore dell'impostazione per quella quota impostato tramite postfixadmin( che lo inserisce nel db), per un account determinato. Per esempio il valore della quota viene letto da dovecot sul db, imposta a tot MB la quota per quell'account e quando arriva una mail per quell'indirizzo controlla se la quota è raggiunta, in caso affermativo invia l'errore. Se non fosse cosi, non penso avrebbe senso mettere la possibilita di inserire la quota da postfixadmin dato che postfix/dovecot se la gestiscono da soli senza prendere in considerazione quello che c'è nel db per quel determinato account. Da quello che ho letto dalla documentazione di postfixadmin mi pare di aver capito che funzioni cosi:

3. Dovecot v1.0 quota support (optional)
----------------------------------------

Please note that you need to use Dovecot's own local delivery agent to
enforce and update quotas. Then you can view real-time used quotas in
Postfixadmin.

Add to dovecot.conf:

## IMAP quota
protocol imap {
  quota = dict:storage=200000 proxy::quota
}

## POP quota
protocol pop3 {
  mail_plugins = quota
}

## Local Delivery Agent
protocol lda {
  mail_plugins = quota
}

## Dictionary DB proxy
dict {
  quota = mysql:/etc/dovecot-dict-quota.conf
}

## Default quota values
plugin {
quota = dict:storage=200000 proxy::quota
}


Change dovecot-mysql.conf to return quota values:

for MySQL:
user_query = SELECT maildir, 1001 AS uid, 1001 AS gid, CONCAT('dict:storage=',floor(quota/1000),' proxy::quota') as quota FROM mailbox WHERE username = '%u' AND active='1'

for PostgreSQL:
user_query = SELECT maildir, 1001 AS uid, 1001 AS gid, 'dict:storage=' || floor(quota/1000) || '::proxy::quota' as quota FROM mailbox WHERE username = '%u' AND active='1'


Create file dovecot-dict-quota.conf:

driver = mysql
connect = host=localhost dbname=postfix user=postfix password=postfix
default_pass_scheme = MD5-CRYPT
table = quota
select_field = current
where_field = path
username_field = username


Create database in Mysql:
(This is automatically done by postfixadmin's setup.php)

Enable quota support in Postfixadmin config.inc.php:

$CONF['used_quotas'] = 'YES';
$CONF['quota'] = 'YES';

Note: The above text describes the configuration for dovecot 1.0 & 1.1 quota table format.

If you use dovecot 1.2 or newer,
- use the 'quota2' table (also created by setup.php)
- set $CONF['new_quota_table'] = 'YES'

(scusate il paste troppo lungo)


Ovvio che anche se viene impostata la quota al valore di default tramite postfixadmin, se non diciamo a postfix/dovecot di leggere dal db la quota per un account, il campo del record non viene usato e la quota se la gestisce sempre postfix/dovecot autonomamente. In effetti è una cosa non troppo utile, ma siccome mi era venuto il dubbio volevo informarmi.

Grazie ancora


Reply to: