63 lines
1.6 KiB
Bash
Executable File
63 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Copyright (C) 2001-2019 Graeme Walker <graeme_walker@users.sourceforge.net>
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
# ===
|
|
#
|
|
# emailrelay-resubmit.sh
|
|
#
|
|
# Looks for all failed e-mails in the E-MailRelay spool directory and resubmits
|
|
# them. However, if an e-mail has been retried five times already then it is not
|
|
# resubmitted again.
|
|
#
|
|
# usage: emailrelay-resubmit.sh [<spool-dir>]
|
|
#
|
|
# See also emailrelay-resubmit.js for Windows.
|
|
#
|
|
|
|
store="__SPOOL_DIR__"
|
|
retry_limit="5"
|
|
|
|
# parse the command line
|
|
#
|
|
if test $# -ge 1
|
|
then
|
|
store="$1"
|
|
fi
|
|
|
|
# check the spool directory is valid
|
|
#
|
|
if test \! -d "$store"
|
|
then
|
|
echo `basename $0`: invalid spool directory >&2
|
|
exit 1
|
|
fi
|
|
|
|
# for each failed e-mail...
|
|
#
|
|
ls -1 "$store/emailrelay.*.envelope.bad" | while read file
|
|
do
|
|
if test -f "$file"
|
|
then
|
|
failures="`fgrep MailRelay-Reason: < \"${file}\" | wc -l`"
|
|
if test "$failures" -lt "$retry_limit"
|
|
then
|
|
good_file="`echo \"${file}\" | sed 's/\.bad$//'`"
|
|
mv -f "$file" "$good_file"
|
|
fi
|
|
fi
|
|
done
|
|
|