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.