Offlineimap is tool for syncing mails. But if you delete remote folder after sync it appears again on remote account. I wrote small bash script what solves this problem.
Firstly it synchronizes account and parses all remote folders. It is up to you to remove paths you want preserve. Then it removes all folders on remote server and on local machine. At last it synchronizes and cleans up.
#!/bin/bash
account="Posvic"
download() {
offlineimap -a $account &> output.txt
cat output.txt | grep "Syncing" | cut -d' ' -f3,4 | cut -d':' -f1 > output2.txt
mv output2.txt output.txt
}
delete() {
while read i; do
echo "Deleting $i..."
offlineimap -a $account --delete-folder "$i"
rm -rf "Mail/$account/${i//\//\.}"
done < output.txt
}
if [ $# -ne 1 ]; then
echo "Usage: $0 [download|delete|sync]"
exit 1
fi
case "$1" in
"download")
download
;;
"delete")
delete
;;
"sync")
offlineimap -a $account
rm output.txt
;;
*)
echo "Wrong parameter!"
;;
esac