Image

Base de conocimientos → Instalación y configuración de cuotas de buzón en un servidor de correo Dovecot

[Servidores virtuales]
Fecha de publicación: 09.06.2023

Describamos la configuración de la cuota del buzón, la capacidad de especificar una cuota, proporcionada en postfixadmin de forma predeterminada, no funciona y debe configurarse.  En nuestro caso, lo estamos configurando en el servidor de correo Ubuntu\Debian para el servicio Dovecot. Esta configuración le permite establecer un límite de buzón para no exceder el tamaño del disco ssd del servidor vps, ya que cualquier buzón corporativo puede estar lleno de archivos adjuntos pesados, spam, lo que puede generar un consumo importante de espacio en disco.

Esta guía asume que ya ha configurado el servidor de correo y que necesita configurar cuotas de buzón. Puede encontrar más información sobre cómo configurar un servidor de correo aquí:


También puede solicitar un VPS con un sistema operativo preconfigurado y obtener un servidor de correo corporativo listo para usar por el precio de un servidor VPS.

1. Configuración del servicio Dovecot

vi /etc/dovecot/conf.d/10-mail.conf

mail_plugins = $mail_plugins quota

Сохраним файл.

vi /etc/dovecot/conf.d/20-imap.conf

protocol imap { mail_plugins = $mail_plugins imap_quota }

Guardemos el archivo.

vi /etc/dovecot/conf.d/10-master.conf

service dict {

unix_listener dict { mode = 0660 user = vmail group = vmail } }

Guardemos el archivo.

vi /etc/dovecot/conf.d/90-quota.conf

plugin { quota = dict:User quota::proxy::quota }

Guardemos el archivo.

vi /etc/dovecot/dovecot.conf

dict { quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext }


vi /etc/dovecot/dovecot-dict-sql.conf.ext

connect = host=localhost dbname=postfix user=postfix password=postfix123

map {

pattern = priv/quota/storage table = quota2 username_field = username value_field = bytes

}

map {

pattern = priv/quota/messages table = quota2 username_field = username value_field = messages }

En la primera línea, debe especificar los datos existentes para conectarse a la base de datos, especificados al configurar el servidor de correo.

vi /etc/dovecot/dovecot-sql.conf.ext

user_query = SELECT CONCAT('/home/mail/',LCASE(domain),'/',LCASE(maildir)), 1024 AS uid, 1024 AS gid, CONCAT('*:bytes=', quota) AS quota_rule FROM mailbox WHERE username = '%u'

Guardemos el archivo.

Reiniciemos el servicio:

systemctl restart dovecot

El funcionamiento de la cuota se puede verificar en la consola con el comando especificando un buzón existente con una cuota dada en postfixadmin:

doveadm quota get -u user@domain.tld

2. Configurar notificaciones de exceso de cuota

vi /etc/dovecot/conf.d/90-quota.conf

Agregue líneas a la configuración:

plugin { 
quota_warning = storage=95%% quota-warning 95 %u 
quota_warning2 = storage=80%% quota-warning 80 %u 
}

En el mismo archivo proporcionamos una sección service quota-warning a la mente:

service quota-warning { 
executable = script /usr/local/bin/quota-warning.sh 
user = dovecot 
unix_listener quota-warning { 
user = vmail 
} 
}

Vamos a crear el script para enviar notificaciones:

vi /usr/local/bin/quota-warning.sh

#!/bin/sh PERCENT=$1 USER=$2 cat << EOF | /usr/lib/dovecot/dovecot-lda -d $USER -o "plugin/quota=maildir:User quota:noenforcing" From: postmaster@domain.tld Subject: quota warning

Your mailbox is now $PERCENT% full.

EOF

Guardemos el archivo. Cambia la dirección de correo electrónico desde la que se realizará el envío por la tuya propia. Asigne derechos de ejecución y aplique la configuración:

chmod +x /usr/local/bin/quota-warning.sh
systemctl restart dovecot

Revisemos el script en la consola:

/usr/local/bin/quota-warning.sh 85 user@domain.tld

Cambie el buzón a uno existente, debería llegar una carta.

La configuración de la cuota está completa, si se envía al buzón un correo electrónico con un archivo adjunto más grande que el propio buzón, el correo electrónico no se entregará y el remitente recibirá un mensaje de que el buzón está lleno. Ahora las cuotas establecidas en postfixadmin están configuradas y funcionando.





Sin comentarios aún