HEX
Server: Apache/2.2.34 (Unix) mod_fastcgi/mod_fastcgi-SNAP-0910052141
System: Linux Kou-Etsu-Dou 4.4.59+ #25556 SMP PREEMPT Thu Mar 4 18:03:46 CST 2021 x86_64
User: hosam (1026)
PHP: 7.2.29
Disabled: NONE
Upload Files
File: /volume1/@appstore/MailClient/scripts/mailclient_share_folder_acl_repair.sh
#!/bin/sh

PACKAGE="MailClient"
PACKAGE_DIR="/var/packages/${PACKAGE}"
ACL_CHECK_BIN="${PACKAGE_DIR}/target/tool/synomc_acl_check"
ACL_REPAIR_BY_SHAREDMAILBOX_RULE_BIN="${PACKAGE_DIR}/target/tool/repair_mailfolder_acl"
SYNO_ACL_TOOL="/usr/syno/bin/synoacltool"

DOMAIN_DIR="/var/spool/mail/"
MAILDIR="Maildir"

TransferMaildirToACL() {
	dirlist=$(find ${DOMAIN_DIR} -mindepth 4 -maxdepth 4 -type d -name ${MAILDIR})
	for dir in ${dirlist}
	do
		sudo ${ACL_CHECK_BIN} --log -d ${dir}
		echo ${dir}
	done
}

ResetAllAboveMaildir() {
	#Folders example: /var/spool/mail/@local/, /var/spool/mail/@local/1024, /var/spool/mail/@local/1024/1024,
	#                 /var/spool/mail/@local/1024/1024/Maildir, /var/spool/mail/@local/1024/1024/.SYNOMC
	dirlist=$(find ${DOMAIN_DIR} -mindepth 1 -maxdepth 4 -type d)
	for dir in ${dirlist}
	do
		sudo ${SYNO_ACL_TOOL} -del ${dir}
		sudo ${SYNO_ACL_TOOL} -enforce-inherit ${dir}
		echo ${dir}
	done

}

RepairMaildirBySharedMailboxRule() {
	sudo ${ACL_REPAIR_BY_SHAREDMAILBOX_RULE_BIN} --all
}

while [ -n "$1" ]; do
case "$1" in
        "-d" | "--debug")
			PrintTargetPath
			exit 1
		;;
		"--transfer-maildir-to-acl")
			TransferMaildirToACL
		;;
		"--reset-acl")
			ResetAllAboveMaildir
			RepairMaildirBySharedMailboxRule
		;;
		"--reset-all-above-maildir")
			ResetAllAboveMaildir
		;;
        *)
			echo "unhandled option '$1'"
			exit 1
		;;
esac
shift
done