Thank you for reading this post, don't forget to subscribe!
cat check_fail.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#!/bin/bash PWD="/root/Maildir/new" FILES=$(ls $PWD) if [[ ${#FILES} -eq 0 ]]; then exit 0 else grep -ZL exceed $PWD/* | xargs --null rm -f W_SIZE=$(grep -l exceed $PWD/*) if [[ ${#W_SIZE} -gt 0 ]]; then for i in $W_SIZE; do TO_MEG=$(grep RCPT.*TESTDOMAIN $i) if [[ ${#TO_MEG} -gt 0 ]]; then TO=$(grep RCPT $i | egrep -o '<.*[^>]' | sed -e 's/<//') FROM=$(grep "MAIL FROM" $i | egrep -o '<.*>') SIZE=$(egrep -o 'SIZE=.*' $i | awk -F"=" '{print $2}') SIZE=$(($SIZE/1024/1024)) rm -f $i for j in $TO; do echo -e "Письмо, отправленное Вам от $FROM, было не доставлено по причине большого размера приложенного файла ($SIZE Мб). \nПопросите отправителя уменьшить размер вложений или разделить их на несколько сообщений, размер каждого не должен превышать 20 Mб.\nВ случае возникновения дополнительных вопросов обращайтесь в HelpDesk." | mail -s "Обнаружено недоставленное письмо" -r no-reply@TESTDOMAIN.ru $j echo "$(date +%F' '%X) - - - We send notification to $j" >> /var/log/mail_notif.log done fi done fi fi |