set -eE -o pipefail
trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
+# mail-route can get messed up a bit randomly, I don't know why.
+#/b/ds/mail-route up | /b/log-quiet/log-once -1 mail-route
+
+for f in $(awk '$1 == "localfolders" {print $NF}' ~/.offlineimaprc); do
+ mkdir -p $f
+ chmod 700 $f
+done
offlineimap -u quiet
shopt -s nullglob
+if grep -qP '^ *accounts.*fsf' ~/.offlineimaprc; then
+ if [[ ! -e /nocow/user/.mufsf ]]; then
+ mkdir -p /nocow/user/.mufsf
+ chmod 700 /nocow/user/.mufsf
+ mu index --maildir=/nocow/user/fsfmd
+ fi
+fi
+
omv() { # offlineimap mv. move mail files within $src_base/$1 to /m/md/$2
- src="$1"
- dst="$2"
- found_files=false
- for x in new cur; do
- files=("$src_base"/"$src"/$x/*)
- if [[ $files ]]; then
- found_files=true
- mv "${files[@]}" /m/md/"$dst"/$x
- fi
- done
+ src="$1"
+ dst="$2"
+ found_files=false
+ for x in new cur; do
+ files=($src_base/"$src"/$x/*)
+ if [[ $files ]]; then
+ found_files=true
+ mv "${files[@]}" /m/md/"$dst"/$x
+ fi
+ done
}
src_base=/m/offlineimap
omv INBOX offlineimaptmp
src_base=/m/md
if $found_files; then
- sieve-filter -eW ~/sieve/main.sieve offlineimaptmp &>/dev/null
- # the default folder is INBOX for anything leftover
- omv offlineimaptmp INBOX
- # remove messages from remote host
- offlineimap -u quiet
- # this makes us sit and wait when we want to use mu and this is running in a cronjob.
- # todo: emacs updates the index much faster. what command is it running? I'd like
- # to just run that
- # looks like it might be mu index --lazy-check, but that still takes like 10 seconds,
- # figure out if that is the same speed, or if we can make it faster.
- #mu index &>/dev/null ||:
+ sieve-filter -eW ~/sieve/main.sieve offlineimaptmp &>/dev/null
+ # the default folder is INBOX for anything leftover
+ omv offlineimaptmp INBOX
+ # remove messages from remote host
+ offlineimap -u quiet
+ # this makes us sit and wait when we want to use mu and this is running in a cronjob.
+ # todo: emacs updates the index much faster. what command is it running? I'd like
+ # to just run that
+ # looks like it might be mu index --lazy-check, but that still takes like 10 seconds,
+ # figure out if that is the same speed, or if we can make it faster.
+ #mu index &>/dev/null ||:
fi
+
+
+# delete based on http://deflexion.com/2006/05/imap-way-of-deleting-message
+sieve-filter -eW -o mail_location=maildir:/nocow/user/fsfmd:LAYOUT=fs:INBOX=/nocow/user/fsfmd/INBOX ~/sieve/fsf.sieve INBOX delete &>>/tmp/fsfsieve.log
+
+# to test new rules, update fsf-test.sieve, run these commands, then copy new fsf-test.sieve to fsf.sieve
+# sieve-filter -o mail_location=maildir:/nocow/user/fsfmd:LAYOUT=fs:INBOX=/nocow/user/fsfmd/INBOX ~/sieve/fsf-test.sieve INBOX &>/tmp/testfsfsieve.log
+# sed -rn '/^Performed actions:/{n;n;p}' /tmp/testfsfsieve.log | sort -u