#!/bin/sh
# This is an example script that you can use to resent
# failed messages. The script inserts a counter in the message
# file that is used to ensure that the number of retries
# is limited.
# The script does not need any command line arguments.

failed=/var/spool/sms/failed
outgoing=/var/spool/sms/outgoing
max=5

used=0
notused=0
cd $failed
for file in *; do
  if [ "$file" = "*" ]; then
    echo "No failed files found"
    exit 1
  fi
  retry=`formail -zx Retry: < $file`
  if [ "$retry" ]; then
    retry=`expr $retry + 1`
  else
    retry=1
  fi
  if [ $retry -gt $max ]; then
    notused=`expr $notused + 1`
  else
    used=`expr $used + 1`
    mv $file $file.old
    formail -f -I "Retry: $retry" < $file.old > $file
    mv $file $outgoing
    rm $file.old
  fi
done
echo "$used messages moved again into outgoing spool directory"
echo "$notused messages ignored because of to many retries"
