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.