Import initial.
Envoie un mail tous les possesseurs de compte sur zamok. Tous les adhrents ayant une adresse mail @crans.org le reoivent. M@nu. darcs-hash:20040824202807-1d643-b84d265a3094bd581af70f07478b110ec41abb97.gz
This commit is contained in:
parent
0a675633a6
commit
0a0b6ddf07
1 changed files with 67 additions and 0 deletions
67
mailcrans.sh
Executable file
67
mailcrans.sh
Executable file
|
@ -0,0 +1,67 @@
|
|||
#! /bin/sh
|
||||
|
||||
# The author of this code is Manuel Sabban <manu@feyd-rautha.org>
|
||||
#
|
||||
# Copyright (c) 2002, 2004 Vincent Bernat, Manuel Sabban.
|
||||
#
|
||||
# Permission to use, copy, and modify this software with or without fee
|
||||
# is hereby granted, provided that this entire notice is included in
|
||||
# all source code copies of any software which is or includes a copy or
|
||||
# modification of this software.
|
||||
#
|
||||
# THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR
|
||||
# IMPLIED WARRANTY. IN PARTICULAR, NONE OF THE AUTHORS MAKES ANY
|
||||
# REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE
|
||||
# MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR
|
||||
# PURPOSE.
|
||||
|
||||
# Envoie un mail à tous les adhérents ayant un compte sur zamok, c'est-à-dire
|
||||
# ceux qui ont une adresse mail en @crans.org
|
||||
|
||||
# Emplacement temporaire de la liste d'adresses email
|
||||
EMAILS=/tmp/emails$$
|
||||
|
||||
# Fichier contenant les adresses vers lesquelles l'envoi n'a pas réussi
|
||||
FAILED=/tmp/failed$$
|
||||
|
||||
# Canevas du mail
|
||||
CANEVAS=/tmp/canevas$$
|
||||
|
||||
# En cas d'interruption du script, on efface les fichiers temporaires
|
||||
trap "rm -f $EMAILS $CANEVAS 2> /dev/null ; exit 5" 1 2 15 0
|
||||
|
||||
# Construction de la liste des adresses mails
|
||||
cat /etc/passwd |grep -v corbeau | awk -F":" '{if ($3>499) print $1"@crans.org"}'>$EMAILS
|
||||
|
||||
# Construction du canevas du mail
|
||||
echo -n "Subject: " > $CANEVAS
|
||||
${EDITOR:-"vi"} $CANEVAS
|
||||
echo >> $CANEVAS
|
||||
|
||||
# Edition du mail
|
||||
${EDITOR:-"vi"} $CANEVAS
|
||||
echo >> $CANEVAS
|
||||
|
||||
# Visualisation du mail
|
||||
cat $CANEVAS
|
||||
echo
|
||||
echo '--------------'
|
||||
echo 'Ce mail va être envoyé à tous les adhérents. Entrée pour continuer, Ctrl-C pour arrêter.'
|
||||
read
|
||||
|
||||
# Envoi du mail à toutes les adresses comprises dans `EMAILS'
|
||||
# Les envois non réussis sont stockés dans $FAILED.
|
||||
rm -f $FAILED 2> /dev/null
|
||||
|
||||
while read EMAIL
|
||||
do
|
||||
echo -n "Envoi à $EMAIL... "
|
||||
cat $CANEVAS | formail -I "To: $EMAIL" | sendmail $EMAIL || (echo -n "Pas " ; echo $MAIL >> FAILED)
|
||||
echo "OK"
|
||||
done < $EMAILS
|
||||
|
||||
if [ -f $FAILED ]; then
|
||||
echo "Il y a eu des erreurs, voir $FAILED pour les adresses emails qui ont posé problème."
|
||||
fi
|
||||
|
||||
echo "Terminé."
|
Loading…
Add table
Add a link
Reference in a new issue