From 0a0b6ddf0749f0dea791865d4d04666545b24404 Mon Sep 17 00:00:00 2001 From: sabban Date: Tue, 24 Aug 2004 22:28:07 +0200 Subject: [PATCH] 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 --- mailcrans.sh | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100755 mailcrans.sh diff --git a/mailcrans.sh b/mailcrans.sh new file mode 100755 index 00000000..1ab8973a --- /dev/null +++ b/mailcrans.sh @@ -0,0 +1,67 @@ +#! /bin/sh + +# The author of this code is Manuel Sabban +# +# 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é."