dotfiles/conf.d/astroid/hooks/toggle_spam

45 lines
1.1 KiB
Plaintext
Raw Normal View History

2021-02-21 00:15:09 +00:00
#!/bin/bash
# File : toggle_spam
# Author : Jeff LANCE <email@jefflance.me>
# Date : 10.02.2015
# Last Modified Date: 07.05.2020
# Last Modified By : Jeff LANCE <email@jefflance.me>
#
# $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