o postfix 2.11 precisa ser corrigido com o patch VDA para suporte por Quota de usuário ou domínio, quando o dovecot 2.2.x é usado como servidor imap?

1

o postfix 2.11 precisa ser corrigido com o patch VDA para usuário ou domínio Suporte a cota , quando o dovecot 2.2.x é usado como servidor imap? Estou usando o Ubuntu 14.04 LTS com postfixadmin 2.3. Eu aprecio todos os guias de trabalho úteis. obrigado

saída dovecot -n

link

master.cf

link

cat dovecot-sql.conf.ext

driver = mysql connect = host = 127.0.0.1 dbname = postfixadmin usuário = senha do postfixadmin = XXXXXXXX default_pass_scheme = MD5-CRYPT

password_query = SELECT nome de usuário como usuário, senha FROM caixa de correio WHERE username = '% u'; user_query = SELECIONAR maildir como home, 5000 como uid, 5000 como gid, CONCAT ("*: bytes=", cota) AS quota_rule FROM caixa de correio WHERE username = '% n @% d'                 AND active = 1;     

por satch_boogie 03.06.2015 / 10:14

1 resposta

0

Se postfix não tentar executar o próprio LDA e invocar deliver do dovecot, então postfix não precisa saber nada sobre as cotas.

Se você usou postfixadmin para o gerenciamento de domínios virtuais, já tem tudo o que precisa para restrições de cota. Você precisa modificar a consulta SQL de dovecot para buscar cotas de usuários:

user_query = SELECT maildir AS home, \
                    26 AS uid, \
                    26 AS gid, \
                    CONCAT("*:bytes=",quota) AS quota_rule \
               FROM mailbox \
              WHERE username = '%n@%d' \
                AND active=1;

(não copie e cole cegamente esse exemplo, use-o como modelo)

Em seguida, você precisa configurar o plug-in de cota e o serviço de aviso no dovecot.conf

ATUALIZADO:

. . . . . .
# this line enable quota plugin!
mail_plugins            = quota

# here is the plugin's configuration
plugin {
  quota                 = maildir:User quota
  quota_rule            = Junk:ignore
  quota_rule2           = Trash:storage=+100M
  quota_warning         = storage=90%% quota-warning 90 %u %d
  quota_warning2        = storage=80%% quota-warning 80 %u %d
  quota_exceeded_message = ERROR:422 - Mailbox full, sorry.
. . . . .
}
. . . . .
service quota-warning {
  executable    = script /path/to/the/overquota.sh
  user          = $mail_uid
  group         = $mail_gid
  unix_listener quota-warning {
    user        = $mail_uid
    group       = $mail_gid
  }
}
. . . . .

overquota.sh deve ser assim:

#!/bin/sh
cat << EOT | /usr/local/libexec/dovecot/dovecot-lda -d $2 -o "plugin/quota=maildir:User quota:noenforcing"
From: postmaster@$3
To: $2
Subject: == Quota warning ==
Content-Type: text/plain; charset="UTF-8"

Your mailbox is $1% full, so clean up your mess, please!

EOT
exit 0
####

Quando deliver dovecot tenta armazenar a mensagem na caixa de entrada, verifica se a cota foi atingida com limites predefinidos 80% e 90% ou não. Se assim for - o serviço de aviso de cotas é invocado e o script é iniciado, que coloca uma mensagem de aviso na caixa de correio - sem mais checkout de cota.

    
por 03.06.2015 / 11:32