MFBASSIST Geschrieben 29. Mai 2002 Teilen Geschrieben 29. Mai 2002 Hallo, hab ein kleines Perl Skript geschrieben. Jedoch finde ich den Fehler nicht. Hab ich da irgendwas verfrimelt? Danke schonmal !!! MFG Martin #!/usr/bin/perl # Martin Fandel # 28.05.02 # Pop3 Protocoll benutzen use Net::POP3; # Das Modul muss evtl. Nachinstalliert werden !!! use Config::IniFiles; ############# # Variablen # ############# # Mailoptionen $von = "pop3skript\@bravo"; $an = "fuchs\@bitburg-pruem.de"; $mta = "/usr/bin/sendmail"; # Ini Datei Variablen $inifile = "/tmp/fil.ini"; # Pause $sleep = 60; ################# # Hauptprogramm # ################# sub popdaten { $cfg = new Config::IniFiles -file => "$inifile" ; $popuser = $cfg->val('POP3HOST', 'POP3UID') ; $poppass = $cfg->val('POP3HOST', 'POP3PWD') ; $popserv = $cfg->val('POP3HOST', 'POP3SERVER') ; }; popdaten(); $pop3 = Net::POP3->new($popserv, Timeout => 30); print "Einloggen in $popserv als $popuser ...\n"; $messagenum = $pop3->login($popuser,$poppass) || die "Konnte nicht in $popserv einloggen"; print "Sie haben $messagenum Nachrichten\n\n"; $pop3->quit(); if ($messagenum > 1) { open (MAIL, '|$mta -t'); print MAIL "From: $von\n"; print MAIL "To: $an\n"; print MAIL "Subject: Es befinden sich nachrichten auf $popserv\n"; print MAIL "Es befinden sich $messagenum Nachrichten auf $popserv\n"; ENDE close MAILER; sleep $sleep; } else sleep $sleep; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sumpfbiber Geschrieben 29. Mai 2002 Teilen Geschrieben 29. Mai 2002 Kennt der Rechner, auf dem du das Script ausfuehrst, den mailhost? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MFBASSIST Geschrieben 29. Mai 2002 Autor Teilen Geschrieben 29. Mai 2002 Ja Es stimmt so weit alles (glaube ich jedenfalls) Jedoch läuft es net Martin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sumpfbiber Geschrieben 29. Mai 2002 Teilen Geschrieben 29. Mai 2002 Kennt der Rechner, auf dem du das Script ausfuehrst, den mailhost? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Orbital Geschrieben 29. Mai 2002 Teilen Geschrieben 29. Mai 2002 manchmal hilft es das problem zu posten statt zu sagen "es läuft net, jetzt debuggt mir gefälligst mein programm und findet raus wo der fehler liegt..." cheers Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MFBASSIST Geschrieben 29. Mai 2002 Autor Teilen Geschrieben 29. Mai 2002 Hast vielleciht recht aber ist dafür nicht ein Forum da? Ich finde einfach keinen Fehler weil ich noch zu unerfahren mit Perl bin. Deswegen hab ich das gepostet. Wenns nach dir ginge, dürfte es ja dann kein Forum geben Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Orbital Geschrieben 29. Mai 2002 Teilen Geschrieben 29. Mai 2002 nein wenns nach mir ginge würdest du einfach die fehlermeldung posten und wenn man schon code klaut und ihn als eigenen ausgibt sollte man wenigstens in der lage sein selbst einen trivialen fehler zu finden Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 29. Mai 2002 Teilen Geschrieben 29. Mai 2002 Wenn du keine Fehlermeldung postest, kann man halt nur fragen: -kannst du generell perl Scripte ausführen? -sind die beiden benötigten Module installiert? -stimmen die Zugangsdaten? -hast du in der Doku der Module nachgeschaut ob dein Code so stimmt? Gruß Jaraz PS: Ein Forum ist dafür da, konkrete Fragen zu beantworten bzw Punkte zu diskutieren. Hier hat keiner Lust deinen Job zu machen bzw deinen debugger zu spielen. Ansonsten kann ich dir meinen Stundensatz mailen du machst mir einen Auftrag und ich löse dann das Problem. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
jomama Geschrieben 29. Mai 2002 Teilen Geschrieben 29. Mai 2002 Was habt ihr eigentlich alle für ein Problem. Wer ihm nicht antworten will, soll halt einfach die Klappe halten, das bringt den armen Dau-Abwimmler doch kein Stück weiter. Furchtbar! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 29. Mai 2002 Teilen Geschrieben 29. Mai 2002 Original geschrieben von jomama Was habt ihr eigentlich alle für ein Problem. Wer ihm nicht antworten will, soll halt einfach die Klappe halten, das bringt den armen Dau-Abwimmler doch kein Stück weiter. Furchtbar! Und wieso hilfst du ihm dann nicht, sondern kritisierst hier einfach Personen die ihm wenigstens Tips geben wie er zu einer Lösung kommt? :confused: Er postet mittlerweile das dritte mal dieses Skript in leicht abgewandelten Versionen. Jedesmal mit dem Hinweiss, es funktioniert nicht. Anscheinend hat er ein falsches Verständnis von einem Forum. Wir sind hier nun mal keine Support Hotline. Wenn alle ihn ignorieren, kommt er auch nicht weiter.... Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 29. Mai 2002 Teilen Geschrieben 29. Mai 2002 mei seid ihr fieß ;-) Also ich kann nur für mich sprechen und ich hab sogar schonmal einen ganzen Arbeitstag für ihn geopfert, um ein Script zu erstellen, weil es mich einfach interessiert hat und ich würd das - wenn die Zeit zur Verfügung steht - jederzeit wieder tun!! Also ich stell mich gern als Supporter zur Verfügung, da ich dabei auch was lernen kann - wenn etwas nicht so klappt wie es das soll!! mfg Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Orbital Geschrieben 29. Mai 2002 Teilen Geschrieben 29. Mai 2002 Und wieso hilfst du ihm dann nicht, sondern kritisierst hier einfach Personen die ihm wenigstens Tips geben wie er zu einer Lösung kommt? :confused: Er postet mittlerweile das dritte mal dieses Skript in leicht abgewandelten Versionen. Jedesmal mit dem Hinweiss, es funktioniert nicht. Anscheinend hat er ein falsches Verständnis von einem Forum. Wir sind hier nun mal keine Support Hotline. Wenn alle ihn ignorieren, kommt er auch nicht weiter.... Gruß Jaraz Full ACK mei seid ihr fieß ;-) warum ? Also ich kann nur für mich sprechen und ich hab sogar schonmal einen ganzen Arbeitstag für ihn geopfert, um ein Script zu erstellen, weil es mich einfach interessiert hat und ich würd das - wenn die Zeit zur Verfügung steht - jederzeit wieder tun!! Also ich stell mich gern als Supporter zur Verfügung, da ich dabei auch was lernen kann - wenn etwas nicht so klappt wie es das soll!! mfg ich hab auch keine probleme damit zu helfen aber wenn sich der hilfesuchende so quer stellt informationen raus zurücken und es nicht für nötig hält sich an bestimmte konventionen zu halten, nervt das... *auf flame vorbereit* Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 29. Mai 2002 Teilen Geschrieben 29. Mai 2002 ja das ist schon klar, aber wenn er wirklich nicht weiter weiß, was soll er denn dann machen? *g Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nachtgeist Geschrieben 29. Mai 2002 Teilen Geschrieben 29. Mai 2002 Original geschrieben von MFBASSIST open (MAIL, '|$mta -t'); print MAIL "From: $von\n"; print MAIL "To: $an\n"; print MAIL "Subject: Es befinden sich nachrichten auf $popserv\n"; print MAIL "Es befinden sich $messagenum Nachrichten auf $popserv\n"; ENDE close MAILER; sleep $sleep; } else sleep $sleep; Du schließt den Handle MAILER - und den gibts nicht... Wenn du das ganze dann in einer Schleife laufen lässt (worauf die sleeps hinweisen - wozu würdest du die sonst brauchen?), kann er das nächste mal den Handle nichtmehr öffnen. Und was soll das 'ENDE' da drinn? Ist das der komplette Code? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 29. Mai 2002 Teilen Geschrieben 29. Mai 2002 Original geschrieben von Schlaubi ja das ist schon klar, aber wenn er wirklich nicht weiter weiß, was soll er denn dann machen? *g Einfach erzählen was er macht... -Sind die Module da? -Funktioniert das einlesen der IniWerte? (kann er durch simples Ausgeben testen) -wird die Anzahl der Mails im Postfach angezeigt? (Auch Ausgabe posten) -läuft sendmail? (Versuchen Mail über Console zu senden) -Benutzt er überhaupt Linux/Unix und nicht Windows? (Windows hat kein Sendmail) Mir fallen noch duzende solcher Fragen ein. Hier kann keiner hellsehen Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Orbital Geschrieben 29. Mai 2002 Teilen Geschrieben 29. Mai 2002 Original geschrieben von Schlaubi ja das ist schon klar, aber wenn er wirklich nicht weiter weiß, was soll er denn dann machen? *g posten was ihm sein interpreter zu flüstert Original geschrieben von Nachtgeist Du schließt den Handle MAILER - und den gibts nicht... Wenn du das ganze dann in einer Schleife laufen lässt (worauf die sleeps hinweisen - wozu würdest du die sonst brauchen?), kann er das nächste mal den Handle nichtmehr öffnen. Und was soll das 'ENDE' da drinn? Ist das der komplette Code? er meinte wohl so etwas... open MAIL, '| /usr/sbin/sendmail -t'; print MAILER << 'ENDE'; From: $from To: $to Subject: Es befinden sich nachrichten auf $pop3server Es befinden sich $messagenum Nachrichten auf $pop3server ENDE close MAILER; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MFBASSIST Geschrieben 3. Juni 2002 Autor Teilen Geschrieben 3. Juni 2002 Hallo, ich hab jetzt weiter nicht ins Forum geguckt sondern etliche Anleitungen durchgearbeitet und probiert und versucht bis ich es hinbekommen hab. Das Skript funktioniert jetzt. Die libnet module müssen installiert werden und das modul config ini files. Es funzt super Jedoch hat mir das Forum nicht weitergeholfen da nur ironie stattfand. Trotzdem danke an die, die mir trotzdem geholfen haben Hier das jetztige Skript: #!/usr/bin/perl5.00503 # Name : Martin Fandel # Datum : 28.05.02 # Art : Ini Files auslesen und POP3 Verbindung mit Benachrichtigung # geändert : 31.05.02 ########## # Module # ########## # Netzwerk Module use Net::POP3; # Konfiguration Module use Config::IniFiles; ############# # Variablen # ############# # Name des Servers auf dem das Skript läuft $server = "proxy"; # Mailoptionen bei angabe auf \ achten beim @ $von = "dizskript\@proxy"; $an = "fandel.martin\@bitburg-pruem.de, paas.matthias\@bitburg-pruem.de, fuchs\@bitburg-pruem.de, fuju\@gmx.de"; $mta = "/usr/sbin/sendmail"; $sub = "POP3 Skript \@ $server"; $inhalt = "Es befinden sich $messagenum Nachrichten auf dem POP3 Server $popserv"; # Ini Datei Variablen $inifile = "/usr/local/dizmail/inifil.ini"; # Wartezeit nach durchlauf $pause = 100; ################# # Hauptprogramm # ################# ########################################## # Auf Fehler testen ( $von ) || die "Fehler: Es wurde kein Absender eingetragen !!!\n"; ( $an ) || die "Fehler: Es wurde kein Adressat eingetragen !!!\n"; ( $inifile ) || warn "Fehler: Es wurde kein Pfad zur INI Datei angegeben !!!\n"; ########################################## # Ini Datei auslesen $cfg = new Config::IniFiles -file => "$inifile" ; $popuser = $cfg->val('POP3HOST', 'POP3UID') ; $poppass = $cfg->val('POP3HOST', 'POP3PWD') ; $popserv = $cfg->val('POP3HOST', 'POP3SERVER') ; #$sub = "POP3 Skript \@ $popserv"; ########################################## # In POP3 Server einloggen POP: $pop3 = Net::POP3->new($popserv, Timeout => 20) || die("Can't connect $popserv"); $messagenum = $pop3->login($popuser,$poppass) || die("Konnte nicht in $popserv einloggen"); $pop3->quit(); #$inhalt = "Es befinden sich $messagenum Mails auf dem POP3 Server $serv"; ########################################## # MTA Block sub send_mail { if (not open(MAIL, "|$mta -t") ) { print "Kein Mailer vorhanden, Pfad prüfen!!!"; } else { print MAIL "From: $von \n"; print MAIL "To: $an \n"; print MAIL "Subject: $sub \n"; print MAIL "\n"; print MAIL "$inhalt"; close (MAIL); } } ######################################### # If Anweisung ob Mails sich im POP3 Server befinden if($messagenum>1) { print "Mail senden an Administrator\nNächster Ablauf in $pause Sekunden!!!\n"; send_mail(); sleep $pause; goto POP; } else { print "Es befinden sich keine Mails auf dem POP3 Server $popserv\nNächster Ablauf in $pause Sekunden!!!\n"; sleep $pause; goto POP; } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 3. Juni 2002 Teilen Geschrieben 3. Juni 2002 Original geschrieben von MFBASSIST Die libnet module müssen installiert werden und das modul config ini files. Es funzt super Jedoch hat mir das Forum nicht weitergeholfen da nur ironie stattfand Ich hoffe das da zum Schluss noch ein Smily fehlt, da ich dich in meiner ersten Antwort gefragt habe, ob die Module installiert sind. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MFBASSIST Geschrieben 3. Juni 2002 Autor Teilen Geschrieben 3. Juni 2002 Ist schon klar. Aber ich habe die Beiträge jetzt erst gelesen! Am Anfang war soviel ironie das ich es einfach nicht für gut hielt nochmal in das Forum zu gehen. Trotzdem danke für deine Hilfe. Die meisten haben nur um den Brei herumgeredet Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.