server-scripts/spam-ham-learn

49 lines
918 B
Text
Raw Normal View History

2024-12-30 01:09:00 +00:00
#!/usr/bin/bash
# Useful directories.
readonly MAILDIR="${HOME}/Maildir"
readonly SPAMDIR="${MAILDIR}/Spam"
readonly HAMDIR="${MAILDIR}/Ham"
# The spam/ham found are saved for future reference.
readonly SAVE_SPAM_DIR="${HOME}/spamassassin/spam"
readonly SAVE_HAM_DIR="${HOME}/spamassassin/ham"
# The minimum age (in days) of spam to be processed.
readonly SPAM_MIN_AGE=3
# "--force" flag.
FORCE="false"
learn_spam()
{
local tmpfile=$(mktemp)
local findargs=""
if [ "${FORCE}" = "false" ]; then
findargs=" -ctime +${SPAM_MIN_AGE} "
fi
find "${SPAMDIR}/cur" "${SPAMDIR}/new" -type f "${findargs}" | while read -r msg; do
printf "%s\n" "${msg}" >> "${tmpfile}"
done
/usr/bin/sa-learn -f "${tmpfile}"
}
learn_ham()
{
}
while [ -n "${1}" ]; do
case "${1}" in
-f|--force)
FORCE="true"
;;
esac
shift
done
learn_spam
learn_ham