#!/bin/bash # File : toggle_spam # Author : Jeff LANCE # Date : 10.02.2015 # Last Modified Date: 07.05.2020 # Last Modified By : Jeff LANCE # # $1 = message id # All directory names relative to mail folder's root DIR_JUNK="junk" # Junk directory path DIR_INBOX="inbox" # Inbox directory path # Get thread ID and message ID TID=$1 MID=$2 FILE=$(notmuch search --exclude=false --output=files\ "thread:${TID}" "${MID:+id:$MID}") # Unspam it if it's spam if [[ $(notmuch search "thread:${TID}" "${MID:+id:$MID}" \ and tag:spam \ and folder:/${DIR_JUNK}/) ]]; then # unspam mail and reset inbox status notmuch tag -spam +inbox -- "thread:${TID}" "${MID:+id:$MID}" # Set mail as ham for bogofilter echo "Unspam mail: ${TID}" echo ${FILE} | bogofilter -Sn -l else # Spam it notmuch tag -inbox +spam -- "thread:${TID}" "${MID:+id:$MID}" # Set mail as spam for bogofilter echo "Spam mail: ${TID}" echo ${FILE} | bogofilter -Ns -l fi # Move mail with afew afew --move-mails exit 0 # vim:ft=sh