From 9b38a1b9fd26b76e390b48123cd1c33931484b9e Mon Sep 17 00:00:00 2001 From: Mario Alegre Date: Thu, 30 Jul 2020 14:51:15 -0400 Subject: [PATCH] made mail archive script fully idempotent, added another link to resources doc --- src/mailsrv/assets/bin/maint | 13 +++++++------ src/mailsrv/docs/Resources.md | 4 ++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/mailsrv/assets/bin/maint b/src/mailsrv/assets/bin/maint index 8a9fc8b..b504c73 100755 --- a/src/mailsrv/assets/bin/maint +++ b/src/mailsrv/assets/bin/maint @@ -7,11 +7,8 @@ for user in *; do # we don't mind if it already exists) doveadm mailbox create -u $user -s Archive 2> /dev/null - # get current year - currentyear=$(date +%Y) # assume no messages in INBOX are older than this year - #year=2000 - year=$(($currentyear-1)) + year=2000 while [[ $year -le $currentyear ]]; do # create an Archive/$year mailbox doveadm mailbox create -u $user -s Archive.$year 2> /dev/null @@ -30,10 +27,14 @@ for user in *; do doveadm move -u $user Archive.$year SEEN BEFORE 1-Jan-$(($year+1)) \ BEFORE 90d \( $mailboxes \) - # delete messages from Trash that have been there for more than 2 weeks - doveadm expunge -u $user SAVEDBEFORE 2w MAILBOX Trash + # delete Archive/$year mailbox if it is empty + doveadm mailbox delete -u $user -e Archive.$year 2> /dev/null # step year variable year=$(($year+1)) done + + # delete messages from Trash that have been there for more than 2 weeks + doveadm expunge -u $user SAVEDBEFORE 2w MAILBOX Trash + done diff --git a/src/mailsrv/docs/Resources.md b/src/mailsrv/docs/Resources.md index 643fdd2..5f5c3e1 100644 --- a/src/mailsrv/docs/Resources.md +++ b/src/mailsrv/docs/Resources.md @@ -7,3 +7,7 @@ - says to use `@` for subdomain, but Dyn only accepts `*` as wildcard - https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy - https://www.linuxbabe.com/mail-server/create-dmarc-record + +## Best Practices + +- https://bridge.grumpy-troll.org/2020/07/small-mailserver-bcp/