Emails in Datenbank schreiben über PerlSkript?? (oder so ähnlich)
Jürgen
- perl
0 Stefan Muenz0 Stephan Huber0 Calocybe0 Jürgen0 Stephan Huber0 Jürgen
hallo,
mal eine grundsätzliche frage, da ich nicht glaube,
dass ich das in irgendeiner art und weise selber hinbekomme.
was ich gerne hätte und wie ich mir das so vorstelle,
wäre folgendes:
bei seinem provider lässt man die email-sache so einstellen,
dass ALLE emails an eine bestimmte email-adresse (oder sowas)
weitegeleitet werden (z.B. mit einem *).
schickt jemand eine email an diesen host,
so soll diese email (irgendwie) an ein cgi-programm
geraten, welche das ding in die bestandteile aufsplittet
(empfänger, absender, subject, text (evtl. anhang) und
diese sachen dann in ein flatfile schreibt.
geht so etwas überhaupt irgendwie oder sind dafür
bestimmt dinge erforderlich???
wo kann ich mich darüber näher informieren
oder kann das jemand von euch machen? *)
*) nicht umsonst
Für jede Info und jeden Tip bin ich dankbar!
Jürgen
Hallo Juergen
schickt jemand eine email an diesen host,
so soll diese email (irgendwie) an ein cgi-programm
geraten, welche das ding in die bestandteile aufsplittet (empfänger, absender, subject, text (evtl. anhang) und diese sachen dann in ein flatfile schreibt.
Besser waere ín diesem Fall kein CGI-Script, sondern ein normales Script auf Betriebssystem-Ebene auf dem Server, dass mittels crontab-Funktion (wenn es ein Unix-Rechner ist) sagen wir alle x Minuten oder Stunden angestossen wird, die neuen Mails ausliest und wie gewuenscht in die Datei schreibt. Dazu muss das Script natuerlich wissen, wo der Mailserver die eingegangenen Mails ablegt und in welcher Form genau. Da kenn ich mich auch nicht weiter aus, vermute aber, dass es da auch Unterschiede gibt, je nach Mailserver-Produkt. Ich bin mir aber ziemlich sicher, dass die Mails als Klartext abgelegt werden, so dass sie fuer ein Script problemlos auslesbar sind.
Um das Ganze zu realisieren, brauchst du auf jeden Fall weitgehende Zugriffs- und Ausfuehr-Rechte auf dem Server. Als Ottonormalkunde mit virtueller Domain weisst du normalerweise gar nicht, wo diese Programme und Daten auf dem Server liegen, und wenn der Provider den Server ordentlich konfiguriert hat, hast du hast auch kaum eine Chance, "einfach so" die Daten des Mailservers auszulesen. Vielleicht redest du einfach mal mit dem Provider.
viele Gruesse
Stefan Muenz
Hallo Jürgen,
wenn Du einen Unix-Server hast, sollte das Forwarding, daß Du machen kannst, mit einem speziellen Programm realisiert sein, wahrscheinlich procmail. Das geht dann normalerweise so, daß Du in deinem Home-Directory ein .forward-file hast, in dem steht, welches Programm das Emailforwarding übernimmt. Und die meisten dieser Programme können die Emails auch einfach in ein Verzeichnis schreiben, oder an ein Programm weiterschicken, was Dein Problem lösen sollte. Falls procmail installiert ist, dann gibt's recht viele FAQ's und Beispiele im Internet, z.B.:
http://www.ii.com/internet/robots/procmail/
Falls Du procmail nicht installiert hast, aber sendmail mit einem .forward-File konfigurieren kannst, würde ich Dir mdforward empfehlen, das macht das gleiche wie procmail, ist aber einfacher zu konfigurieren:
http://www.nemeton.com.au/sw/mdforward/
Grüße
Stephan
Hi Juergen!
Ich will mal noch ne andere Moeglichkeit vorschlagen, die zwar nicht ganz Deiner Frage entspricht, aber vielleicht trotzdem Deinem Problem naeherkommt.
Das POP3-Protokoll, welches fuer das Abrufen der Emails vom Mailserver weit verbreitet ist (es gibt da noch IMAP, aber ich weiss gar nicht, wo das eingesetzt wird), ist nicht weiter kompliziert, scheint mir zumindest so. (Kannst mal unter <../../sfarchiv/1999_2/t03634.htm#a17642> schauen.) Im Prinzip koennte man ein Perl- oder sonstiges Script schreiben, welches mit dem Mailserver Kontakt aufnimmt, die Mails herunterlaedt, nach Deinen Anforderungen auseinandernimmt und in eine Datei schreibt. Dieses Script kannst Du entweder dann starten, wenn Du Deine Mails in diesem Format brauchst, oder eben mit einem cronjob. (cronjob gibt es in abgespeckter Version auch fuer WinNT, heisst dort AT, wie ich neulich im Chat gelernt habe. Man gebe AT /? am Prompt ein. Scheduler-Dienst muss gestartet sein.)
Wie das Abrufen der Mail technisch in Perl funktioniert, also wie man eine TCP-Verbindung aufbaut, weiss ich aber nicht. Weiss vielleicht einer von den Perl-Cracks?
Bye by Calocybe
Hi Calocybe,
Wie das Abrufen der Mail technisch in Perl funktioniert, also wie man eine TCP-Verbindung aufbaut, weiss ich aber nicht. Weiss vielleicht einer von den Perl-Cracks?
Ja, z.B. Erik Tews:
<../../sfarchiv/1999_2/t03680.htm#a17743>
;-)
Grüße
Stephan
HALLO!
also ich bin echt begeistert über diese resonanz! ALLERBESTEN DANK!!!
leider verstehe ich von irgendwelchen sockets und so dinger wo zwei doppelpunkte dazwischenstehen gar nichts ---
insofern ist wohl alles, was mehr als einen "katzentapper" über PERL hinausgeht schon etwas zu viel für mich, bin ich doch froh, daß ich die Perl-Sprache hin und wieder logisch nachvollziehen kann.
so war mir dieses mdforward am sympathischsten, weil ich pfadangaben wie /home/blabla ...oder ganz normale email-adressen kenne.
wo auch immer dieses komische vor irgendwas hinzuschreiben ist und wo auch immer das zu speichern ist, soweit konnte ich das ganze trotz tausendfachen lesens noch nicht ganz checken,...aber scheint irgendwie üblich bei solchen forwardings zu sein.
* bin ich eigentlich in der richtigen annahme, daß sich dieses mdforward durch das gelieferte lib damit nahezu auf allen Servern installieren läßt (expl. UNIX) ???
* diese ENV-Variablen....kann ich die in meinem aufgerufenen skript dann "ganz normal" in meinem skript so behandeln: z.b: if %SENDER eq $benutzername ....???
* wie funktioniert denn das im groben bei Attachments?? bleiben die in irgendsoeinem speziellen mailverzeichnis "liegen" ..oder kann ich die auch irgendwie in mein perl-skript holen oder in ein "public"-verzeichnis (bzw. muss ich dies) und kann ich dieses attachment dann - z.B. ein Bild - in meinem perl-skript angeben bzw. anziegen und evtl. den benutzer des perl-programmes das attachment runterladen lassen?? ist das dann auch eine URL oder liegt das irgendwo bei /home/... ??
* hab ich das richtig realisiert, daß dann so ähnlich, wenn nicht genauso, GMX oder Topmail funktionieren??
So. Ich hoffe diese Fragen sind nicht allzu detailliert oder unverschämt für ein Forum.
Verbindlichsten Dank für jede etwaige Antwort!
Brauchen auch keine "Doktorarbeiten" zu sein...hyperspezielles würde meinen kopf wohl dann eh zum platzen bringen :-)
Jürgen
hallo,
mal eine grundsätzliche frage, da ich nicht glaube,
dass ich das in irgendeiner art und weise selber hinbekomme.was ich gerne hätte und wie ich mir das so vorstelle,
wäre folgendes:bei seinem provider lässt man die email-sache so einstellen,
dass ALLE emails an eine bestimmte email-adresse (oder sowas)
weitegeleitet werden (z.B. mit einem *).schickt jemand eine email an diesen host,
so soll diese email (irgendwie) an ein cgi-programm
geraten, welche das ding in die bestandteile aufsplittet
(empfänger, absender, subject, text (evtl. anhang) und
diese sachen dann in ein flatfile schreibt.geht so etwas überhaupt irgendwie oder sind dafür
bestimmt dinge erforderlich???wo kann ich mich darüber näher informieren
oder kann das jemand von euch machen? *)
*) nicht umsonst
Für jede Info und jeden Tip bin ich dankbar!
Jürgen
Hallo Jürgen,
* bin ich eigentlich in der richtigen annahme, daß sich dieses mdforward durch das gelieferte lib damit nahezu auf allen Servern installieren läßt (expl. UNIX) ???
Ja, wenn die Emails per Sendmail verteilt werden, aber das dürfte unter UNIX so ziemlich der Standard sein.
* wie funktioniert denn das im groben bei Attachments?? bleiben die in irgendsoeinem speziellen mailverzeichnis "liegen" ..oder kann ich die auch irgendwie in mein perl-skript holen oder in ein "public"-verzeichnis (bzw. muss ich dies) und kann ich dieses attachment dann - z.B. ein Bild - in meinem perl-skript angeben bzw. anziegen und evtl. den benutzer des perl-programmes das attachment runterladen lassen?? ist das dann auch eine URL oder liegt das irgendwo bei /home/... ??
Attachments sind einfach im Text der Email gespeichert, nicht als gesonderte Datei. D.h. wenn Du ein Bild anhängst, steht oben im Emailheader 'Content-Type:Mime/Multipart' oder so ähnlich, und nach dem Text der Nachricht kommt dann nach einer speziellen Trennzeile das Bild als lange Zahlenreihe.
* hab ich das richtig realisiert, daß dann so ähnlich, wenn nicht genauso, GMX oder Topmail funktionieren??
Ja, aber die verwenden wohl IMAP, weil das für diese Zwecke einfacher ist. IMAP unterscheidet sich von POP3 darin, daß die Emails auf dem Server selbst verwaltet werden können, deshalb unterstützt es von sich aus schon z.B. verschiedene Mailordner auf dem Server.
Grüße
Stephan
hallo stephan!!!
nochmal meinen aufrichtigsten dank!!!
da werd ich mich wohl mal in den nächsten tagen durchbeissen! :-))
danke!
Jürgen
PS: also irgendwie dünkt mich bei dir, du schläfst ein bisschen wenig ;-)
Hallo Jürgen,
* bin ich eigentlich in der richtigen annahme, daß sich dieses mdforward durch das gelieferte lib damit nahezu auf allen Servern installieren läßt (expl. UNIX) ???
Ja, wenn die Emails per Sendmail verteilt werden, aber das dürfte unter UNIX so ziemlich der Standard sein.* wie funktioniert denn das im groben bei Attachments?? bleiben die in irgendsoeinem speziellen mailverzeichnis "liegen" ..oder kann ich die auch irgendwie in mein perl-skript holen oder in ein "public"-verzeichnis (bzw. muss ich dies) und kann ich dieses attachment dann - z.B. ein Bild - in meinem perl-skript angeben bzw. anziegen und evtl. den benutzer des perl-programmes das attachment runterladen lassen?? ist das dann auch eine URL oder liegt das irgendwo bei /home/... ??
Attachments sind einfach im Text der Email gespeichert, nicht als gesonderte Datei. D.h. wenn Du ein Bild anhängst, steht oben im Emailheader 'Content-Type:Mime/Multipart' oder so ähnlich, und nach dem Text der Nachricht kommt dann nach einer speziellen Trennzeile das Bild als lange Zahlenreihe.* hab ich das richtig realisiert, daß dann so ähnlich, wenn nicht genauso, GMX oder Topmail funktionieren??
Ja, aber die verwenden wohl IMAP, weil das für diese Zwecke einfacher ist. IMAP unterscheidet sich von POP3 darin, daß die Emails auf dem Server selbst verwaltet werden können, deshalb unterstützt es von sich aus schon z.B. verschiedene Mailordner auf dem Server.Grüße
Stephan