Titel: Dimke Grußkarte
Bild: Dimke Grußkarte Screenshot
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
[Developer Root] [Main Page]