next up previous
Nächste Seite: Konfiguration Aufwärts: Mail -> SMS-Gateway Vorherige Seite: Mail -> SMS-Gateway

Funktionsweise

Ich habe das Script so implementiert, dass ich es nahtlos in eine Sendmail-Umgebung einfügen kann. Das Script wird als Mailer definiert, und erhält so alle Mail für den virtuellen Host sms.

Das Script erhält von Sendmail als einzigen Parameter eine Mailadresse in der Form 0123456789@sms.domain.ch. Das komplette Mail erhält das Script danach über <STDIN>. Zuerst legt das Script ein Hash mit sämtlichen Headern an. Daraus wird mit dem From:Header die erste Zeile vom SMS generiert. Danach fügt das Script die Message an und schneidet eine allenfalls vorhandene Signatur ab. Danach überprüft es die Länge, 160 Zeichen sind erlaubt, und refusiert falls nötig das Mail. Verschicken von zu langen Mails in mehreren SMS wird (noch) nicht unterstützt.

Das Script fordert darauf eine CGI-Seite von einem Gratis-SMS-Anbieter an. Es filtert eine MsgId aus dem Formular, die es bei der Antwort braucht. Es setzt einen UserAgent, einen HTTP-Referer, und schickt das ausgefüllte Formular an den Server zurück. Bei erfolgreichem Versand wird noch ein Eintrag in ein Logfile (/var/log/sms) geschrieben.



Christoph Scheurer 2001-09-24