mirror of
https://git.myvelabs.com/docker/myvemail.git
synced 2025-12-18 00:16:18 +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
|
trap '[ "${?}" -ne 77 ] || exit 77' ERR
|
||||||
function die
|
function die
|
||||||
{
|
{
|
||||||
local reset="\e[0m"
|
local reset="\e[0m"
|
||||||
local red="\e[0m\e[0;31m"
|
local red="\e[0m\e[0;31m"
|
||||||
local yellow="\e[0m\e[0;33m"
|
local yellow="\e[0m\e[0;33m"
|
||||||
|
|
||||||
echo -e "${red}
|
echo -e "${red}
|
||||||
Error encountered in the following init script:
|
Error encountered in the following init script:
|
||||||
|
|
@ -18,23 +18,23 @@ ${red}
|
||||||
Aborting...
|
Aborting...
|
||||||
${reset}"
|
${reset}"
|
||||||
|
|
||||||
exit 77
|
exit 77
|
||||||
}
|
}
|
||||||
|
|
||||||
# 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
|
||||||
do
|
do
|
||||||
bash -c ${file} || die ${file}
|
bash -c ${file} || die ${file}
|
||||||
done
|
done
|
||||||
|
|
||||||
# Reload services
|
# Reload services
|
||||||
|
|
@ -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}}
|
||||||
|
|
|
||||||
|
|
@ -6,22 +6,41 @@ atd
|
||||||
# Roundcube cleanup (daily)
|
# Roundcube cleanup (daily)
|
||||||
while true
|
while true
|
||||||
do
|
do
|
||||||
at -f /usr/share/webapps/roundcube/bin/cleandb.sh midnight
|
at -f /usr/share/webapps/roundcube/bin/cleandb.sh midnight
|
||||||
sleep 1d
|
sleep 1d
|
||||||
done &
|
done &
|
||||||
|
|
||||||
# Update Postscreen Whitelists (daily)
|
# Update Postscreen Whitelists (daily)
|
||||||
while true
|
while true
|
||||||
do
|
do
|
||||||
at -f /usr/local/bin/postwhite/postwhite midnight
|
at -f /usr/local/bin/postwhite/postwhite midnight
|
||||||
sleep 1d
|
sleep 1d
|
||||||
done &
|
done &
|
||||||
|
|
||||||
# Update Yahoo! IPs for Postscreen Whitelists (weekly)
|
# Update Yahoo! IPs for Postscreen Whitelists (weekly)
|
||||||
while true
|
while true
|
||||||
do
|
do
|
||||||
at -f /usr/local/bin/postwhite/scrape_yahoo midnight sunday
|
at -f /usr/local/bin/postwhite/scrape_yahoo midnight sunday
|
||||||
sleep 7d
|
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 &
|
done &
|
||||||
|
|
||||||
# # Refresh ssl keys daily
|
# # Refresh ssl keys daily
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue