Benutzer:Jaytea/invitesender
Für Menschen, die keinen Linuxserver zur Hand haben biete ich hiermit an ihre Einladungen über meinen Server zu verschicken. Bei Interesse oder allgemein Fragen zum Script schickt einfach eine Mail an mich.
#!/bin/bash
if [ "$1" = "-h" ] || [ "$1" = "--help" ] || [ "$#" -ne 6 ];
then
echo "Usage: invitesender <send-to> <send-from> <intro-file> <agenda-file> <outro-file> <days until meeting>"
exit
fi
SECDATE=`date '+%s'`
DAYSUNTIL=$6
SECDATE=$((SECDATE+(86400*DAYSUNTIL)))
VSDATE=`date --date="1970-01-01 $SECDATE sec GMT+1" +%d.%m.`
VSDATEFULL=`date --date="1970-01-01 $SECDATE sec GMT+1" +%d.%m.%Y`
INTRO=`cat "$3"`
TO=`cat $4`
SUBJECT="Einladung zur Vorstandssitzung am $VSDATE"
printf "To: %s\nFrom: %s\nSubject: %s\nContent-Type: text/plain; charset=UTF-8\n\n" "$1" "$2" "$SUBJECT" >> full.mail
printf "%s %s %s\n\n" "$INTRO" "$VSDATEFULL" "$TO" >> full.mail
cat "$5" >> full.mail
/usr/lib/sendmail -t < full.mail
rm full.mail
Dieses Script einfach in eine Datei namens "invitesender" auf einem Linux-Server legen und als ausführbar markieren. Das Script nimmt 6 Parameter:
- EMail-Adresse, an die geschickt werden soll
- EMail-Adresse, von der aus geschickt werden soll (muss nicht existieren, wird nur im "From"-Feld der email eingetragen)
- eine Datei mit einer allgemeinen Anrede und Text bis zum Datum
- eine Datei mit Text ab dem Datum mit der Tagesordnung
- eine Datei mit dem Ende der Einladung
- Anzahl an Tagen, die noch bis zur Versammlung zeit ist
Die Tagesordnung mit der Information, wann und wo die Versammlung stattfindet lade ich aus einem Pad. Das ganze verpacke ich in folgendem Script, was schließlich von einem Cron-Job jede Woche ausgeführt wird:
#!/bin/bash
cd /home/jay/vs-invite/
DAY=`date '+%V'`
DAY=$((DAY%2))
if [ "$DAY" = "1" ];
then
wget --output-document=TO.txt http://kvgoslar.piratenpad.de/ep/pad/export/vs-invite/latest?format=txt
./invitesender mail@provider.tld vorstand@piraten-goslar.de blog-intro1.txt TO.txt blog-outro.txt 2
./invitesender nds-goslar@lists.piratenpartei.de vorstand@piraten-goslar.de mail-intro1.txt TO.txt mail-outro.txt 2
rm TO.txt
fi
So verschicke ich jede zweite Woche eine Einladungsmail an unsere Mailingliste und eine an mich zur Veröffentlichung auf unserem KV-Blog.