45 lines
1.1 KiB
Plaintext
45 lines
1.1 KiB
Plaintext
|
#!/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
|