aboutsummaryrefslogtreecommitdiff
path: root/modules/private/mail/scan_reported_mails
blob: fe9f4d695a6540a15a6eda44ce9269f65b056dfb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env bash

( flock -n 9 || exit 1
shopt -s nullglob
for spool in /var/lib/vhost/.rspamd/*/pending; do
  rspamd_folder=$(dirname $spool)
  mail_user=$(basename $rspamd_folder)
  mv $rspamd_folder/pending $rspamd_folder/processing

  for mtype in ham spam; do
    if [ -d $rspamd_folder/processing/$mtype ]; then
      output="$(rspamc -h /run/rspamd/worker-controller.sock -c bayes -d $mail_user learn_$mtype $rspamd_folder/processing/$mtype/*)"
      echo "[$mtype: $mail_user]" ${output} >> /var/lib/vhost/.rspamd/rspamd.log
      mkdir -p $rspamd_folder/processed/$mtype
      cp $rspamd_folder/processing/$mtype/* $rspamd_folder/processed/$mtype/
    fi
  done

  rm -rf $rspamd_folder/processing
done
) 9>/var/lib/vhost/scan_reported_mails.lock