CGI via E-Mail ansprechen
David Mously
- cgi
Hallo,
vor einigen Tagen habe ich diese Frage schon mal hier gestellt, sie
aber strategisch ungünstig unter einem abschreckend langen
und komplizierten Posting als "PS:" versteckt (<89311.html>).
Deswegen poste ich sie einfach nochmal:
Ich habe mal gehört, dass man die CGI-Schnittstelle auch via
E-Mail ansprechen kann und den Query-String einfach ins Subject
oder in den Body schreibt. Gibt es da spezielle Server/
Dienstleister die das anbieten? Wie funktioniert das?
MfG
David
;.) (<- eigentlich ein Tippfehler. Erinnert mich aber ein wenig
an Cindy Crawford, deshalb lasse ichs mal so stehn *g*)
<img src="http://www.mously.com/banner/170_24.gif" alt="">
Hallo David
Hallo,
Ich habe mal gehört, dass man die CGI-Schnittstelle auch via
E-Mail ansprechen kann und den Query-String einfach ins Subject
oder in den Body schreibt. Gibt es da spezielle Server/
Dienstleister die das anbieten? Wie funktioniert das?
Das macht IMHO keinen Sinn, da CGI ja "nur" die Schnittstelle zwischen Webserver und Applikation ist.
Allerdings ist es ziemlich einfach (zumindestens mit Perl) einen POP3 Client zu schreiben, der Mails abholt, z.B. das Subjekt ausliest und irgendwas damit anstellt. Das koennte man natuerlich auch per CGI-Script machen.
Falls interesse, kann ich Dir mal ein kleines Bsp. mailen.
Schau dir mal das Modul Net::POP3 an. Ist bei Activeperl dabei (perldoc Net::POP3), ansonsten bei < http://www.cpan.org>.
MfG
David
;.) (<- eigentlich ein Tippfehler. Erinnert mich aber ein wenig
an Cindy Crawford, deshalb lasse ichs mal so stehn *g*)
*G* russ
Kai
Hallo Kai,
Das macht IMHO keinen Sinn, da CGI ja "nur" die Schnittstelle zwischen Webserver und Applikation ist.
Richtig, ...
Allerdings ist es ziemlich einfach (zumindestens mit Perl) einen POP3 Client zu schreiben, der Mails abholt, z.B. das Subjekt ausliest und irgendwas damit anstellt. Das koennte man natuerlich auch per CGI-Script machen.
...daher löst _das_ nicht mein Problem. Denn das Script in deinem
Beispiel (wenn ich es richtig verstanden habe) wird ja erst dann
aktiv, wenn es z.B. über eine Website aufgerufen wird.
Was ich möchte, ist den Query-string per E-mail zu senden, damit das
Script aufzurufen und das Ergebnis ebenfalls per E-mail erhalten.
Ich habe mal von einem Dienst an irgendeiner Uni gehört, der so
etwas anbietet.
MfG
David
<img src="http://www.mously.com/banner/170_24.gif" alt="">
Hallo,
Hallo Kai,
Das macht IMHO keinen Sinn, da CGI ja "nur" die Schnittstelle zwischen Webserver und Applikation ist.
doch, das macht u.U. sogar großen Sinn!!!
Du kannst damit erfassen, ob jemand die email gelesen hat!
Und wie geht es?
Ganz einfach, es ist eine Mischung aus virtuellem Bildaufruf (Fliegenschisstechnik) und CGI ODER Javascript und CGI...
Bild
<img src="http://www.domain.de/bild.cgi?paramter1=blabla">
JavaScript
<script language="Javascript" src="http://www.domain.de/script.cgi?paramter1=blabla"></script>
Wie geht das nun?
Im Fall 1) macht man per CGI was mit dem Parameter, sendet per:
print "Location: image.gif\n";
einfach ein Bild zurück, damit die Anweisung in der (HTML) Mail befriedigt wird.
Fall 2) ist noch einfacher, denn man muß eigentlich gar nichts zurückliefern!
Ich hoffe, das ist es, was Du wolltest?
Reiner
Hallo Reiner
Hallo,
Hallo Kai,
David schrieb:
Ich habe mal gehört, dass man die CGI-Schnittstelle auch via
E-Mail ansprechen kann und den Query-String einfach ins Subject
oder in den Body schreibt. Gibt es da spezielle Server/
Dienstleister die das anbieten? Wie funktioniert das?
Kai schrieb:
Das macht IMHO keinen Sinn, da CGI ja "nur" die Schnittstelle
zwischen Webserver und Applikation ist.
Reiner schrieb:
doch, das macht u.U. sogar großen Sinn!!!
Nein, denn das CGI hat _keine_ eigene eMail-Adresse ; )
Man kann per CGI-Skript POP3-Mailbox bzw. Webkonto abfragen und wie ueblich irgendein Ergebnis an den Browser / per Mail zurueckliefern.
[... Fliegenschisstechnik ...]
Das verstehe ich nicht.
Ich hoffe, das ist es, was Du wolltest?
Reiner
Gruss
Kai
hallo,
ich hab' einmal ein Perscript gechrieben, daß den inhalt von mails ausliest, auswertet und dann in einer Datenbank bestimmet einträge macht. Außerdem sind Attachments in einer Verzeichnis-struktur untergebracht worden.
Es ging da um Projektberichte, die Außendienst-Mitarbeiter einer Firma nach hause schicken.
Dazu wurde ein Mail-Account angelegt, an den die Mitarbeiter ihre Berichte senden konnten.
Da der Mail-Server ein Linux-Rechner ist, war es relativ einfach, das Mail durch ein Perlscript zu jagen. Einfach im '.forward'-File im User-Home das Perlscript angeben, und dannflutschte es schon.
Das Script hat auch diverse Mails weitergeschickt, z.B.: ein Reply, oder im Fehlerfalle wurde das ganze mail weitergeleitet an einen Benutzer, der das Mail dann manuell nachbearbeitet hat.
Cih hoffe, daß dies eine Anregung zur Lösung Deines Problems ist.
Grüße
Klaus
Reiner schrieb:
doch, das macht u.U. sogar großen Sinn!!!
Nein, denn das CGI hat _keine_ eigene eMail-Adresse ; )
Man kann per CGI-Skript POP3-Mailbox bzw. Webkonto abfragen und wie ueblich irgendein Ergebnis an den Browser / per Mail zurueckliefern.
Ich hatte die ursprüngliche Frage ganz anders verstanden.
David wollte doch, daß eine Mail einen CGI-Aufruf initiert, oder?
Von Mailabfragen via CGI kann ich nichts erkennen?
[... Fliegenschisstechnik ...]
Das verstehe ich nicht.
Unsichtbarer Punkt, der Script ausführt... :-)
Reiner
P.S.: Ich schicke Dir mal eine Mail, siehst dann, was ich meine!
Hallo David
Hallo Kai,
Allerdings ist es ziemlich einfach (zumindestens mit Perl) einen POP3 Client zu schreiben, der Mails abholt, z.B. das Subjekt ausliest und irgendwas damit anstellt. Das koennte man natuerlich auch per CGI-Script machen.
...daher löst _das_ nicht mein Problem. Denn das Script in deinem
Beispiel (wenn ich es richtig verstanden habe) wird ja erst dann
aktiv, wenn es z.B. über eine Website aufgerufen wird.
Nein, denn es ist momentan kein CGI - Script.
Was ich möchte, ist den Query-string per E-mail zu
senden,damit das Script aufzurufen und das Ergebnis ebenfalls per
E-mail erhalten.
Ja klar aber Du brauchst ja erstmal etwas, das die ganze Prozedur ausloest, naemlich ein Programm (z.B. Perlskript), das in bestimmten Zeitabstaenden nachschaut ob neue Mail angekommen ist, wenn ja, den Query-String im Subjekt/Body auswertet, etwas damit macht (z.B. irgendwelche weiteren Skripte ausfuehrt) und das Ergebnis per SMTP-Client (z.B. Sendmail) zurueckschickt.
Ich habe mal von einem Dienst an irgendeiner Uni gehört, der so
etwas anbietet.
Ich kann mir nicht vorstellen, das die etwas anderes machen. OK, die Uni wird einen eigenen POP3-Server haben aber das ist ja nicht noetig.
MfG
David
Gruss
Kai
Hallo,
Hallo David
Hallo Kai,
Allerdings ist es ziemlich einfach (zumindestens mit Perl) einen POP3 Client zu schreiben, der Mails abholt, z.B. das Subjekt ausliest und irgendwas damit anstellt. Das koennte man natuerlich auch per CGI-Script machen.
...daher löst _das_ nicht mein Problem. Denn das Script in deinem
Beispiel (wenn ich es richtig verstanden habe) wird ja erst dann
aktiv, wenn es z.B. über eine Website aufgerufen wird.Nein, denn es ist momentan kein CGI - Script.
Das nicht, aber der Gedanke vom David funktioniert dennoch!
Was spricht dagegen, daß die (HTML) Mail automatisch ein Script auf einem Server ausführt?
Was ich möchte, ist den Query-string per E-mail zu
senden,damit das Script aufzurufen und das Ergebnis ebenfalls per
E-mail erhalten.
Das geht!
Ja klar aber Du brauchst ja erstmal etwas, das die ganze Prozedur ausloest, naemlich ein Programm (z.B. Perlskript), das in bestimmten Zeitabstaenden nachschaut ob neue Mail angekommen ist, wenn ja, den Query-String im Subjekt/Body auswertet, etwas damit macht (z.B. irgendwelche weiteren Skripte ausfuehrt) und das Ergebnis per SMTP-Client (z.B. Sendmail) zurueckschickt.
Falsch!!! Es funktioniert anders!
Ich habe mal von einem Dienst an irgendeiner Uni gehört, der so
etwas anbietet.Ich kann mir nicht vorstellen, das die etwas anderes machen. OK, die Uni wird einen eigenen POP3-Server haben aber das ist ja nicht noetig.
MfG
DavidGruss
Kai
Hallo Kai, Reiner, Klaus,
Zuerst einmal vielen Dank für Eure Hilfe. :-)
Dennoch scheine ich Schwierigkeiten zu haben, mich allgmein-
verständlich auszudrücken... ;-#
Meine Frage:
Wenn ich ein CGI-Script aufrufe, schreibe ich ja normalerweise in
die Adresszeile des Browsers z.B.:
http://www.infoseek.de/seek/s.cgi?qt=selfhtml&sv=IS&col=all
Damit fordere ich das Suchscript bei Infoseek auf, nach selfhtml zu
suchen.
Was ich suche ist eine Möglichkeit, diesen String in das Subject
(oder in den Body) einer E-Mail zu schreiben, und das ganze an einen
bestimmten Server zu schicken.
Dieser Server parst dann die Subject-Zeile, ruft via HTTP das
CGI-Script (Infoseek) auf, wartet die Ausgabe ab und schickt diese
dann via (HTML?-)Mail an den Absender zurück.
Wie kann ich einen solchen Dienst nutzen?
Kennt jemand Adressen und /oder Hintergrundinformationen?
MfG
David
<img src="http://www.mously.com/banner/170_24.gif" alt="">
Hallo David,
Meine Frage:
Wenn ich ein CGI-Script aufrufe, schreibe ich ja normalerweise in
die Adresszeile des Browsers z.B.:
ich glaube dann, Dich schon richtig verstanden zu haben!
Hol mal die Mail ab, die ich Dir geschickt habe!
Du kannst in HTML mails auch Javascript ausführen, so wäre es möglich mittels:
<SCRIPT LANGUAGE="JavaScript">
<!--
document.location.href="http://www.infoseek.de/seek/s.cgi?qt=selfhtml&sv=IS&col=all";
//-->
</SCRIPT>
...den Leser (der Mail) zu "entführen"!
Reiner
Hallo David
Hallo Kai, Reiner, Klaus,
Meine Frage:
Wenn ich ein CGI-Script aufrufe, schreibe ich ja normalerweise in
die Adresszeile des Browsers z.B.:http://www.infoseek.de/seek/s.cgi?qt=selfhtml&sv=IS&col=all
Damit fordere ich das Suchscript bei Infoseek auf, nach selfhtml
zu suchen.Was ich suche ist eine Möglichkeit, diesen String in das Subject
(oder in den Body) einer E-Mail zu schreiben, und das ganze an
einen bestimmten Server zu schicken.Dieser Server parst dann die Subject-Zeile, ruft via HTTP das
CGI-Script (Infoseek) auf, wartet die Ausgabe ab und schickt diese
dann via (HTML?-)Mail an den Absender zurück.Wie kann ich einen solchen Dienst nutzen?
Kennt jemand Adressen und /oder Hintergrundinformationen?
ich habe Dich schon verstanden, glaub' mir ; )
Leider weis ich nicht, wo so ein Service angeboten wird.
Wie gesagt, kann man so etwas ohne grossen Aufwand selbst programmieren, Perl gibt Dir dafuer alle Werkzeuge in die Hand.
Scheinbar willst Du das ja aber nicht, oder wieder ein Missverstaendis ?
MfG
David
Gruss
Kai
Hallo David,
Was ich suche ist eine Möglichkeit, diesen String in das Subject
(oder in den Body) einer E-Mail zu schreiben, und das ganze an einen
bestimmten Server zu schicken.
Das wär dann wohl ein Mailserver. Muß ja einer sein, weil ander Mail-Server nun mal gerne mit Mailserver reden.
Dieser Server parst dann die Subject-Zeile, ruft via HTTP das
CGI-Script (Infoseek) auf, wartet die Ausgabe ab und schickt diese
dann via (HTML?-)Mail an den Absender zurück.
Lösungsvorschlag:
Du richtest auf dem Mailserver einen separaten Email-Account ein, an dem die Mails geschickt werden.
jetzt gibts zwei Möglichkeiten:
1.) mittels von mir angesprochenen forward-Mechanismus wird das Mail direkt in ein Script geschickt.
(Eintrag in der Datei '.forward')
2.) wenn 1.) nicht geht, dann kannst Du mit den entsprechenden Perl-Modulen (LWP und co. und einige andere auch) einen Email-Client basteln, der zyklisch die Mails vom Mailserver abholt.
Beide Varianten machen dann folgenderweise weiter:
sie parsen die Subject-Zeile, starten einen HTTP-Useragent, der den Request ausführt und sammeln die Daten ein.
Das Ganze stoppelst Du in ein Mail zusammen und schickst es zurück.
Dabei kannst Du natürlich alle möglichen Checks machen, ob Du es machst oder nicht (Absender...).
Ich denk mir, daß es wahrscheinlich keinen gibt, der sowas als Dienst anbietet, weil wenn ich schon einen Internet-Zugang habe, werde ich meist auch gleich meinen Browser benutzen und nicht umständlich mit E-Mail arbeiten.
Nicht daß ich jetzt die sinnhaftigkeit Deiner Idee in Frage stellen möchte. Es gibt sicherlich spezial-Fälle, wo es durchaus Sinn macht, so was zu realisieren.
bis dann
Klaus