Necesito limpiar periódicamente varios buzones pop3. 2 soluciones:
- crear un usuario que haga un fetchmail y tener el .fetchmailrc tal que los correos vayan a /dev/null. Problema: el ordenador se bajara los emails, por tanto consumirá bastante ancho de banda si hay muchos mails gordos.
- Un pequeño script :)
#!/bin/bash INPUT=$1 PORT=110 # $1 = server # $2 = user # $3 = pass function borraMailUser () { # pillar el n. de mails TOTAL=$((echo "user $2" echo "pass $3" echo "list" echo "quit") | nc $1 $PORT | grep -B 2 "out" | head -n 1 | cut -d \ -f 1) # borrar este n. de mails (echo "user $2" echo "pass $3" for num in $(seq $TOTAL) do echo "DELE $num" done echo "quit") | nc $1 $PORT echo "$1 - $2 borrados $TOTAL mails" } function testParms () { if [ -z $1 ] then echo "Se necesita el fichero de logins" echo "" echo "Usage: clearPop3.sh archivo_logins" echo "" echo "Formato archivo logins:" echo "1. un login por linea" echo "2. cada linea es" echo " servidor:usuario:password" echo "" exit -1 fi } testParms $1 while IFS=: read server user pass do borraMailUser $server $user $pass done < $INPUT exit 0
Comentarios