Moin!
gibt es eine Möglichkeit, beim Eingang einer E-Mail auf dem Server ein PHP Script zu starten?
Ja, klar. Aber nicht unbedingt per HTTP.
Wenn du weitgehenden Zugriff auf deinen Mailserver hast, kannst du deinen eigenen Mailaccount so konfigurieren, dass er Mails immer oder auch nur in bestimmten Fällen besonders behandelt.
Diese besondere Behandlung kann so aussehen, dass er ein PHP-Skript (Kommandozeilenversion) startet und ihm die Mail auf der Standardeingabe übergibt. Dann kannst du grundsätzlich alles per PHP regeln - auch das Schreiben in die Datenbank.
Wenn dein Mailserver nur ein dummer Mailserver ist, der keinerlei Benutzerkonfiguration zuläßt, hast du leider Pech.
Dann mußt du irgendeinen Mechanismus finden, ständig (oder zumindest mit einer gewissen Regelmäßigkeit) dein Postfach abzufragen und Mails, die in die Datenbank gehen sollen, auszulesen. Obacht: Wenn du die Mails nicht in ein eigenes Postfach schickst, dann holt dein Mailprogramm in ungünstigen Konstellationen diese SMS-Mails vor deinem PHP-Skript ab.
Für diesen Mechanismus benötigst du einen Server, der per Cronjob regelmäßig das PHP-Skript aufruft, welches dann ins Postfach guckt und die Datenbank aktualisiert.
Wenn du es ganz kompliziert machen mußt, weil dein Webserver dich keine eigenen Cronjobs (oder nur zu seltene, z.B. alle 24 Stunden) anlegen läßt, dann kannst du den Cronjob auch auf deinem privaten Rechner anlegen und das Schreiben in die Datenbank durch Aufrufen und POSTen zu einem PHP-Skript erledigen, was auf dem Webserver liegt. Das funktioniert natürlich nur, wenn und solange du mit diesem Rechner online bist.
Grundsätzlich hast du aber das Problem, dass HTTP und SMTP zwei grundsätzlich verschiedene Universen sind, zwischen denen ein Transfer nicht so einfach möglich ist. Insbesondere kommt erschwerend hinzu, dass in der Regel zwei vollkommen unterschiedliche und voneinander getrennte Serversysteme zum Einsatz kommen, zwischen denen eine Benachrichtigung nicht so sonderlich simpel realisierbar ist.
- Sven Rautenberg
ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|