postfix受信済みと配送不能メールの自動削除

More than 3 years have passed since last update.

万が一サーバに入られて個人情報を抜かれない為に

こんなシェルを書いてみた


mail-delete.sh

#!/bin/sh

############################################
#配送不能キューに溜まったメールを廃棄する
############################################
postsuper -d ALL defer
postsuper -d ALL deferred

############################################
#curに移動してから一日経過したメールを削除する
############################################
function delete_file () {

###################
#debug用
#ls -la /home/$1/Maildir/cur/
#echo -e "削除対象のメールはこちら============================\n"
#find /home/$1/Maildir/cur/ -ctime +1 -type f;
#find /home/$1/Maildir/cur/ -ctime +1 -type f >> /var/log/cron;
#echo -e "====================================================\n"
find /home/$1/Maildir/cur/ -ctime +1 -type f -exec rm -f {} \;
}

############################################
# /home直下のdirだけ取得し、delete_fileを呼び出す
############################################
ls -F /home | grep / | while read line; do

if [ -d /home/$line/Maildir ]; then
delete_file $line;
fi

done


あとはシェルをcronで実行するだけ!(毎日0時)


/etc/cron.d/mail-delete

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin
0 0 * * * root /etc/cron.d/mail-delete.sh