hestiacp/hestiacp

Add cron to purge Trash/Spam folder. (Feature Request)

クローズ

#1,462 opened on 2020/12/13

 (4 件のコメント) (3 件のリアクション) (0 人の担当者)Shell (878 件のフォーク)user submission
crondocumentationgood first issuemail

Repository metrics

Stars
 (4,339 個のスター)
PR merge metrics
 (平均マージ 20d 23h) (30d で 73 merged PRs)

説明

Add cron to purge Trash/Spam folder for xx days old mails.

Here is simple bash for it:

#!/bin/bash

#run this so cron job has environment variable
export hestia='/usr/local/hestia'

#can't force everyone to use the same folders, so catch both variants
declare -a dcfolders=( "Trash" "Spam" )

/usr/local/hestia/bin/v-list-users plain | cut -f1 | sort | while read -r vuser ; do
/usr/local/hestia/bin/v-list-mail-domains $vuser plain | cut -f1 | sort | while read -r vdomain ; do
/usr/local/hestia/bin/v-list-mail-accounts $vuser $vdomain plain | cut -f1 | sort | while read -r vaccount ; do
for dcfolder in "${dcfolders[@]}"
do
if /usr/bin/doveadm mailbox list -u $vaccount@$vdomain | grep "^${dcfolder}$";
then
echo  "$vaccount@$vdomain $dcfolder"
/usr/bin/doveadm -v expunge -u $vaccount@$vdomain mailbox "$dcfolder" savedbefore 30d
fi
done

done
done
done

コントリビューターガイド