Add a sendmail every time a rejected email is found

This commit is contained in:
myve 2025-02-25 22:34:27 +00:00
commit 9e4093fea1
3 changed files with 42 additions and 22 deletions

View file

@ -22,14 +22,14 @@ ${reset}"
} }
# Reset logs # Reset logs
for log in /var/log/maillog{,.{0..9}} /var/log/maillog.debug{,.{0..9}} for log in /var/log/mail/maillog{,.{0..9}} /var/log/mail/maillog.debug{,.{0..9}} /var/log/mail/reject.log
do do
if [ ! -f ${log} ] if [ ! -f ${log} ]
then then
touch ${log} touch ${log}
fi fi
done done
syslogd -O /var/log/maillog -s 2000000 -b 10 syslogd -O /var/log/mail/maillog -s 2000000 -b 10
# Run all scripts in init folder # Run all scripts in init folder
for file in /docker-entrypoint/init.d/*.sh for file in /docker-entrypoint/init.d/*.sh
@ -43,4 +43,4 @@ postfix reload &&
echo -e "\n\e[1;32mMail service is ready\e[0m\n" echo -e "\n\e[1;32mMail service is ready\e[0m\n"
# Monitor log # Monitor log
tail -f /var/log/maillog{,.{0..9}} /var/log/maillog.debug{,.{0..9}} tail -f /var/log/mail/maillog{,.{0..9}} /var/log/mail/maillog.debug{,.{0..9}}

View file

@ -24,6 +24,25 @@ do
sleep 7d sleep 7d
done & done &
# Notify if rejected emails were found
while true
do
unset reject
reject=$(grep "NOQUEUE: reject" /var/log/mail/maillog* | grep -F -v -f /var/log/mail/reject.log)
if [ ${reject} ]
then
echo "${reject}" >>/var/log/mail/reject.log
cat <<- mail | sendmail reject@${MYVEMAIL_DOMAIN}
From: reject@${MYVEMAIL_DOMAIN}
To: reject@${MYVEMAIL_DOMAIN}
Subject: Rejected email found
$(tail -n 1 /var/log/mail/reject)
mail
fi
sleep 30
done &
# # Refresh ssl keys daily # # Refresh ssl keys daily
# # https://www.golinuxcloud.com/renew-self-signed-certificate-openssl/ # # https://www.golinuxcloud.com/renew-self-signed-certificate-openssl/
# while true # while true

View file

@ -482,7 +482,8 @@ cp /usr/local/bin/postwhite/postwhite.conf /etc
#// Syslog #// Syslog
#// #//
############### ###############
cat >/etc/syslog.conf <<- 'syslog.conf' mkdir -p /var/log/mail/
mail.info /var/log/maillog cat >/etc/syslog.conf <<- syslog
mail.* /var/log/maillog.debug mail.info /var/log/mail/maillog
syslog.conf mail.* /var/log/mail/maillog.debug
syslog