Script per conteggiare il numero di messaggi in Posta in arrivo per Maildir

From RVM Wiki
Jump to navigation Jump to search

Questo script conteggia tutti i messaggi in posta in arrivo per tutti gli account presenti su un sistema, ed informa gli utenti di spostare i messaggi.


<source lang=bash>

  1. !/bin/bash -e

DOMAIN="matras.it"

function warnusers () {

  1. warnusers email_address numbero_of_messages

cat <<EOFile | mail -s "Troppi messaggi in Posta in Arrivo !" $1 Attenzione ! Il sistema ha rilevato che attualmente nella Vostra casella

  • "Posta in arrivo"*

ci sono *$2* messaggi.

Siete pregati di mantenere costantemente il numero di messaggi sotto i 100, utilizzando le cartelle Archivio.

Qualora non provvediate a spostare i messaggi, verranno

  • CANCELLATI AUTOMATICAMENTE*
  • SENZA POSSIBILITA' DI RECUPERARLI*

Non rispondete a questo messaggio, in quanto generato automaticamente.

$HOSTNAME $(date) EOFile }


cd /home USERS=$(find . -maxdepth 1 -type d)

for BOX in $USERS do

       #echo "Checking $BOX"
       if [ -d $BOX/Maildir/cur  ]
       then
               NUMBER=$(/bin/ls $BOX/Maildir/cur | wc -l )
               #echo "         $BOX/Maildir/cur has $NUMBER messages"
               if [ "$NUMBER" -gt "200" ]
               then
                       NAME=$(echo $BOX | sed 's/^..//g')
                       EMAIL=$NAME@$DOMAIN
                       echo $EMAIL to be warned !
                       warnusers $EMAIL $NUMBER
               fi
       fi

done </source>