Ooh, I love the automatic comparison of destination address with sender address. Would you mind sharing your Sieve rules for this?
# Account sorting set "domain_name" "acct.ninja"; if address :domain "To" "${domain_name}" { if address :localpart :matches "To" "+" { set :lower :upperfirst "addr" "${1}"; set :lower :upperfirst "subaddr" "${2}"; if not address :domain :contains "From" "${addr}" { fileinto :create "SPAM"; } else { fileinto :create "INBOX.Accounts.${addr}.${subaddr}"; } stop; } elsif address :localpart :matches "To" "*" { set :lower :upperfirst "addr" "${1}"; if not address :domain :contains "From" "${addr}" { fileinto :create "SPAM"; } else { fileinto :create "INBOX.Accounts.${addr}"; } stop; } }