mirror of
https://git.myvelabs.com/docker/myvemail.git
synced 2025-12-17 21:46:17 +00:00
Add a sendmail every time a rejected email is found
This commit is contained in:
parent
b02d61e08f
commit
9e4093fea1
3 changed files with 42 additions and 22 deletions
|
|
@ -6,9 +6,9 @@ set -e
|
|||
trap '[ "${?}" -ne 77 ] || exit 77' ERR
|
||||
function die
|
||||
{
|
||||
local reset="\e[0m"
|
||||
local red="\e[0m\e[0;31m"
|
||||
local yellow="\e[0m\e[0;33m"
|
||||
local reset="\e[0m"
|
||||
local red="\e[0m\e[0;31m"
|
||||
local yellow="\e[0m\e[0;33m"
|
||||
|
||||
echo -e "${red}
|
||||
Error encountered in the following init script:
|
||||
|
|
@ -18,23 +18,23 @@ ${red}
|
|||
Aborting...
|
||||
${reset}"
|
||||
|
||||
exit 77
|
||||
exit 77
|
||||
}
|
||||
|
||||
# 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
|
||||
if [ ! -f ${log} ]
|
||||
then
|
||||
touch ${log}
|
||||
fi
|
||||
if [ ! -f ${log} ]
|
||||
then
|
||||
touch ${log}
|
||||
fi
|
||||
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
|
||||
for file in /docker-entrypoint/init.d/*.sh
|
||||
do
|
||||
bash -c ${file} || die ${file}
|
||||
bash -c ${file} || die ${file}
|
||||
done
|
||||
|
||||
# Reload services
|
||||
|
|
@ -43,4 +43,4 @@ postfix reload &&
|
|||
echo -e "\n\e[1;32mMail service is ready\e[0m\n"
|
||||
|
||||
# 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}}
|
||||
|
|
|
|||
|
|
@ -6,22 +6,41 @@ atd
|
|||
# Roundcube cleanup (daily)
|
||||
while true
|
||||
do
|
||||
at -f /usr/share/webapps/roundcube/bin/cleandb.sh midnight
|
||||
sleep 1d
|
||||
at -f /usr/share/webapps/roundcube/bin/cleandb.sh midnight
|
||||
sleep 1d
|
||||
done &
|
||||
|
||||
# Update Postscreen Whitelists (daily)
|
||||
while true
|
||||
do
|
||||
at -f /usr/local/bin/postwhite/postwhite midnight
|
||||
sleep 1d
|
||||
at -f /usr/local/bin/postwhite/postwhite midnight
|
||||
sleep 1d
|
||||
done &
|
||||
|
||||
# Update Yahoo! IPs for Postscreen Whitelists (weekly)
|
||||
while true
|
||||
do
|
||||
at -f /usr/local/bin/postwhite/scrape_yahoo midnight sunday
|
||||
sleep 7d
|
||||
at -f /usr/local/bin/postwhite/scrape_yahoo midnight sunday
|
||||
sleep 7d
|
||||
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
|
||||
|
|
|
|||
|
|
@ -482,7 +482,8 @@ cp /usr/local/bin/postwhite/postwhite.conf /etc
|
|||
#// Syslog
|
||||
#//
|
||||
###############
|
||||
cat >/etc/syslog.conf <<- 'syslog.conf'
|
||||
mail.info /var/log/maillog
|
||||
mail.* /var/log/maillog.debug
|
||||
syslog.conf
|
||||
mkdir -p /var/log/mail/
|
||||
cat >/etc/syslog.conf <<- syslog
|
||||
mail.info /var/log/mail/maillog
|
||||
mail.* /var/log/mail/maillog.debug
|
||||
syslog
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue