Come appare il messaggio
552 5.2.2 <anna@example.com>: Quota exceeded (mailbox for user is full)Cause frequenti
- La casella ha raggiunto il limite di quota impostato in Dovecot.
- Cestino e Inviati non vengono mai svuotati.
- Allegati grandi o un client di sync che carica le mail due volte.
- Regola di quota troppo piccola, ad es. un valore di default da un template.
- Più raro: il filesystem è pieno o senza inode liberi.
Verifica
- Mostra occupazione e limite della casella
doveadm quota get -u anna@example.com - Mostra la dimensione per cartella
doveadm mailbox status -u anna@example.com 'messages vsize' '*' - Mostra la configurazione della quota in Dovecot
doveconf -n | grep -A5 -E '^plugin|quota' - Controlla spazio e inode sullo storage della posta
df -h /var/vmail && df -i /var/vmail
Soluzione
- Alza il limite nella regola di quota (es.
quota_rule = *:storage=10G) o impostalo per utente nella userdb. - Svuota il cestino in automatico:
doveadm expunge -u anna@example.com mailbox Trash savedbefore 30d, come cron per tutti gli utenti con-A. - Imposta una tolleranza con
quota_grace = 10%, così una singola mail grande non fa subito bounce. - Avvisa gli utenti prima del limite con
quota_warning. - Dopo le modifiche esegui
doveadm quota recalc -u anna@example.com.
Domande frequenti
Che differenza c'è tra 552 5.2.2 e 452 4.2.2?
452 è temporaneo: il mittente riprova più tardi. 552 è definitivo e la mail torna indietro. Dovecot usa di default il codice definitivo.
Il mittente può fare qualcosa?
No. Il problema è nella casella del destinatario. Il mittente può solo avvisarlo o reinviare più tardi.