|
Titel: |
Dimke Grußkarte |
|
Bild: |
 |
|
Erklärung: |
Programmpaket zur automatischen Erstellung und Versand von „Geburtstags-Grußkarten“.
Über die Unix-Crontab wird das Perl-Skript „grusskrt.pl“ zu jeweils vorgegebener Zeit
1x pro Tag aufgerufen. Dabei wird eine Liste mit Geburtstagsdaten, den zugehörigen Namen,
den jeweilig mittels SMTP, i.e. Sendmail oder qmail, anzuschreibenden Adressen,
als auch der jeweiligen Anrede beim Programmstart eingelesen und abgearbeitet.
Hierbei wurde sowohl auf maximale Geschwindigkeit bei der Programmausführung, sowie
auf maximale Flexibilität bei der Gestaltung, also der Erstellung des zu
versendenden HTML-Quelltextes Wert gelegt.
Dem Wunsch nach Sicherheit und Nachvollziehbarkeit der korrekten Funktion wurde
durch Verwalten einer Logdatei, ähnlich der des Webservers „Apache“, Rechnung getragen.
Hierin werden u.a. sämtliche erfolgreichen Nachrichtenaussendungen, fehlgeschlagene
Zugriffe auf Dateien und Systemkommandos, etc. protokolliert.
|
|
Funktionsweise: |
Das Perl-Skript „grusskrt.pl“ wird typischerweise über einen Eintrag in der Unix-Crontab
1x pro Tag aufgerufen. Zur Laufzeit lädt „grusskrt.pl“ die Konfigurationsdatei „grusskrt.cfg“
ein, in welcher sämtliche benutzerspezifischen Einstellungen vorgenommen werden, sodaß nach
erfolgreicher Installation das Hauptprogramm „grusskrt.pl“ nicht mehr geändert zu
werden braucht.
Insbesondere können dort eigene Variable für die Betreffzeile, den Absender, jeweiliger
Ort und Name der Logdatei, sowie der Adressendatei gesetzt werden.
Auch läßt sich hier das Aussehen der beiden Seiten der zu erstellenden Grußkarte mittels
HTML-Anweisungen festlegen.
Man beachte, daß hierfür eigene Variable inform von „Platzhalten“ für die Anrede und das
beim Geburtstag aktuelle Lebensalter eingeführt wurden.
Ob die frei zu gestaltende, „handschriftlich“ auszufüllende Innenseite der Karte,
neben oder unterhalb der - wie in natura unveränderbaren - bedruckten Vorderseite
dargestellt werden soll, kann hierbei ebenfalls festgelegt werden.
|
|
Anwendung: |
- Entpacken der Zip-Datei in das gewünschte Verzeichnis
- Anlegen der Adressendatei, bzw. Importieren eines vorhandenen Adressenstammes
in das Format
Geb.datum;Vorname Name;Mail-Adresse;Anrede - e.g.:
21.10.1966;Markus Robert Kessler;xxx@dipl-ing-kessler.de;Lieber Markus!
- Editieren der textbasierten und selbsterklärenden Konfigurationsdatei „grusskrt.cfg“:
- Der Feldtrenner ist standardmäßig als „;“ vorbelegt und läßt sich jederzeit über
die Variable „$feld_trenner“ umdefinieren.
- Das Aussehen der beiden Seiten der Grußkarte wird festgelegt durch die beiden Variablen
„$html_seite1“ und „$html_seite2“, wobei erstere wie in natura statische Eigenschaft besitzt.
Für maximale Flexibilität bei der Gestaltung der 2., der „Innenseite“, wurden 2 Platzhalter
eingeführt, „[anrede]“ und „[alter]“, die beide zur Laufzeit geparst, i.e. jedes einzelne
Vorkommen durch den jeweils aktuellen Wert ersetzt wird.
- Setzen der Rechte, sodaß Grusskrt.Pl ausführbar, grusskrt.cfg lesbar ist,
sowie Schreibzugriffe auf die Logdatei grusskrt.log möglich sind.
- Nach erfolgreicher Installation und Konfiguration läßt sich Grusskrt.Pl
von dessen Verzeichnis aus per Kommandozeile mittels „./grusskrt.pl“, oder
mit vollständiger Pfadangabe über die Unix-Crontab ausführen.
Dies ist zweckmäßigerweise mit Testeinträgen zu verifizieren.
Anmerkung: Das vorgestellte Programmpaket muß sich NICHT notwendigerweise im
cgi-bin-Verzeichnis befinden. Hiervon wird sogar ausdrücklich abgeraten, da
Unberechtigte bei Kenntnis des Datei- bzw. Skript-Namens diese per Browser
aufrufen und damit ausführen könnten.
Jeder vom Perl-Interpreter unter der gegebenen Benutzerkennung und der Benutzerrechte
erreichbare Pfad außerhalb des für Apache erreichbaren Bereiches ist hierbei
geeignet und wird folglich hiermit explizit empfohlen.
Hinweis: Die in der Konfigurationsdatei „grusskrt.cfg“ einzutragenden Pfadangaben
sind nicht relativ zum Dokumentenpfad des Apache zu verstehen, sondern sind absolut
vom Server-Root des Dateisystems aus zu betrachten.
|
|
Quelltext: |
grusskrt.zip
|
|
|