2025-03-05 03:33:23 +00:00
|
|
|
#!/usr/bin/env bash
|
2025-09-28 11:41:07 +00:00
|
|
|
# Check filters
|
|
|
|
|
unset filters
|
|
|
|
|
if [ ${MYVEMAIL_REJECT_FILTER} ]
|
|
|
|
|
then
|
|
|
|
|
filters+=(${MYVEMAIL_REJECT_FILTER//,/ })
|
|
|
|
|
fi
|
|
|
|
|
|
2025-03-05 03:33:23 +00:00
|
|
|
# Notify if rejected emails were found
|
|
|
|
|
while true
|
|
|
|
|
do
|
2025-03-05 04:22:57 +00:00
|
|
|
bash -c 'tail -n +0 --pid=$$ -f /var/log/mail/maillog.debug* | grep --line-buffered -F -v -f /var/log/mail/reject.log | { sed "/NOQUEUE: reject/q" && kill $$ ;}'
|
|
|
|
|
grep -h "NOQUEUE: reject" /var/log/mail/maillog.debug* | grep -F -v -f /var/log/mail/reject.log >>/var/log/mail/reject.log
|
2025-09-28 11:41:07 +00:00
|
|
|
if ! tail -n 1 /var/log/mail/reject.log | grep -i -q "$(printf '%s\|' ${filters[@]:-impossible-string-that-would-never-be-grepped} | sed 's|\\\|$||')"
|
|
|
|
|
then
|
|
|
|
|
cat <<- mail | sendmail reject@${MYVEMAIL_DOMAIN}
|
|
|
|
|
From: reject@${MYVEMAIL_DOMAIN}
|
|
|
|
|
To: reject@${MYVEMAIL_DOMAIN}
|
|
|
|
|
Subject: Rejected email found
|
2025-03-05 03:33:23 +00:00
|
|
|
|
2025-09-28 11:41:07 +00:00
|
|
|
$(tail -n 1 /var/log/mail/reject.log)
|
|
|
|
|
mail
|
|
|
|
|
fi
|
2025-03-05 03:39:10 +00:00
|
|
|
done >/dev/null &
|