---
# System prepended metadata

title: Configuración de cuotas de correo

---

[toc]
# Configuración de cuotas de correo
<p style="text-align: justify;">
Vamos a configurar Dovecot para controlar el espacio disponible en los buzones de correo. Esto incluye establecer límites de cuota, enviar alertas cuando un buzón esté llenándose y permitir que Postfix consulte el estado de las cuotas.

## Configurar el Servicio quota-status en Dovecot
<p style="text-align: justify;">
El servicio quota-status permite que otros servicios (como Postfix) consulten el estado de la cuota de un buzón.

    sudo vi /etc/dovecot/dovecot.conf
    
Añade al final:
    
    mail_plugins = $mail_plugins quota
    
##  Configurar 20-imap.conf
    
    sudo vi /etc/dovecot/conf.d/20-imap.conf
    
Añade:    
    
    protocol imap {
      mail_plugins = $mail_plugins imap_quota quota mail_log notify
    }

## Configurar 20-pop3.conf
    
    sudo vi /etc/dovecot/conf.d/20-pop3.conf

Añade:
    
    protocol pop3 {
      mail_plugins = $mail_plugins quota mail_log notify
    }
    
## Configurar Cuotas en 90-quota.conf
Para definir las reglas de cuota y los mensajes de alerta.
    
    sudo vi /etc/dovecot/conf.d/90-quota.conf

Añade al final:
    
    plugin {
      quota = maildir:User quota
      quota_rule = *:storage=10G
      quota_rule2 = Trash:storage=+100M
      quota_rule3 = SPAM:storage=+100M
      quota_grace = 10%
      quota_status_success = DUNNO
      quota_status_nouser = DUNNO
      quota_status_overquota = "552 5.2.2 Mailbox is full"
      quota_warning = storage=95%% quota-warning 95 %%u
      quota_warning2 = storage=80%% quota-warning 80 %%u
    }

    service quota-warning {
      executable = script /usr/local/scripts/quota-warning.sh
      user = vmail
      unix_listener quota-warning {
        user = vmail
      }
    }
    
* quota_rule : Límite global de 10GB por buzón.
* quota_rule2 y quota_rule3 : Espacio adicional para carpetas específicas (Papelera y Spam).
* quota_warning : Envía alertas al 80% y 95% de capacidad.
    
## Crear el Script de Alertas
    
    sudo mkdir -p /usr/local/scripts/
    sudo vi /usr/local/scripts/quota-warning.sh
    
Añade:
    
    #!/bin/sh
    PERCENT=$1
    USER=$2

    cat << EOF | /usr/lib/dovecot/dovecot-lda -d $USER -o "plugin/quota=count:User quota:noenforcing"
    From: postmaster@ccuellar.test
    To: $USER
    Subject: ¡Alerta de espacio en tu buzón!

    Tu buzón de correo está al $PERCENT% de su capacidad.
    Por favor, libera espacio para evitar problemas.
    Atentamente,
    Tu equipo de soporte de ccuellar.test.
    EOF
    
## Hacer el Script Ejecutable
    
    sudo chmod +x /usr/local/scripts/quota-warning.sh
    
## Configurar Postfix para Consultar Cuotas
    
    sudo vi /etc/postfix/main.cf
    
Añade esta línea en la sección smtpd_recipient_restrictions:
    
    check_policy_service inet:127.0.0.1:12340
    
## Verificar y Reiniciar Servicios
    
    sudo dovecot -n
    sudo postfix check
    
    sudo systemctl restart postfix
    sudo systemctl restart dovecot
    
## Verificar Cuota de un Usuario Específico
    
    sudo doveadm quota get -u user1@ccuellar.test 
    
🤗
    
---
    
## [Índice de secciones aquí](https://hackmd.io/@ccuellar/rJ73y6FpJe)

## [👈Anterior sección](https://hackmd.io/@ccuellar/BJJyhAYpye) 😄 [Siguiente sección 👉](https://hackmd.io/@ccuellar/rkUthRYp1l)