Tabela de Conteúdos

5.1.2 Quotas

Estabelecer um limite à capacidade de armazenamento de e-mails no servidor IMAP.

Dada a especificidade do nosso servidor, o sistema de quotas será implementado tendo em atenção o seguinte:

Configuração

A implementação do sistema de quotas no dovecot é feita por plugins. Basta activar esse plugins e configurar as suas opções.

São necessários 2 plugins:

Toda a configuração é efetuada no ficheiro de configuração /etc/dovecot/local.conf:

/etc/dovecot/local.conf
# [...]

# Space separated list of plugins to load for all services. Plugins specific to
# IMAP, LDA, etc. are added to this list in their own .conf files.
mail_plugins = $mail_plugins quota


##
## IMAP specific settings
##

protocol imap {
  # Space separated list of plugins to load (default is global mail_plugins).
  mail_plugins = $mail_plugins imap_quota
}

# [...]

Em seguida são definidos o tipo e os valores da quota. Neste exemplo é imposto um limite de 10Gb de armazenamento na maildir de cada utilizador.

A configuração é também guardada em /etc/dovecot/local.conf.

/etc/dovecot/local.conf
# [...]

##
## Plugin settings
##

# All wanted plugins must be listed in mail_plugins setting before any of the
# settings take effect. See <doc/wiki/Plugins.txt> for list of plugins and
# their configuration. Note that %variable expansion is done for all values.

plugin {
  #setting_name = value
  quota = maildir
  quota_rule = *:storage=10G
}

# [...]

Finalmente, reiniciar o servidor:

root@server:~# service dovecot restart

Verificação

Verificar que o serviço IMAP suporta quotas:

root@server:~# telnet 127.0.0.1 imap
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
a001 login fribeiro password
a001 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE BINARY MOVE QUOTA] Logged in
a002 logout
* BYE Logging out
a003 OK Logout completed.
Connection closed by foreign host.

A resposta ao comando login deverá assinalar que o serviço suporta quotas.

Clientes

A maior parte dos clientes e-mail actuais podem fornecer ao utilizador informações sobre quotas. No caso do thunderbird, esse suporte é fornecido por add-ons, bastando fazer uma pesquisa por “quotas” no sítio https://addons.mozilla.org/thunderbird.

Após instalação, é possível obter informações acerca do estado da caixa de correio em relação ao limite imposto pelas quotas:

Informação do estado das quotas no Thunderbird

Atenção

Em muitos clientes, apagar um e-mail implica uma cópia para a pasta “Trash” antes de apagar o original. Se a cota já tiver sido ultrapassada, esta operação poderá ser negada com um erro “Quota Excedida”. Neste caso, a mensagem deve ser apagada diretamente, e não enviada para o “Trash”. No thunderbird, as teclas Shift + Del permitem apagar uma mensagem sem a enviar para o “Trash”.

Referências