Ich habe folgendes Problem.
Ein Unix-User bekommt Mails zugestellt, die mit Perl weiterverarbeitet werden sollen.
Das können pro Tag natürlich mehrere Mails sein.
Nach Tageswechsel soll ausgewertet werden.
In einem Statusfile soll eine Zusammenstellung erzeugt werden, die auflistet, dass Absender aaaa@bbb.de
z.B. 1 Seite an 089156544443 geschickt hat mit Datum und Uhrzeit.
Wenn natürlich der gleiche User später an 0404444444 schickt, soll das natürlich auch zu sehen sein.
Wie könnte man soetwas denn umsetzen ?
Natuerlich soll auch der Betreff der Mail geuscht werden.
Da steht Fax-Report - NUR DIE sollen verarbeitet werden
Orginal-Mail sieht so aus
-------------------------------------------------------------------------
Absender: aaaa@bbb.de
Betreff: test
Message-ID: <ssdfsded8760$fefc970a@werw1>
Auftrags-ID: 1196852
Empfaenger: 089156544443111
Zustell-Versuche gesamt: 1
Seiten: 1
Zustellung: 2006-06-04 14:10:24
Status: Zustellung erfolgreich
-------------------------------------------------------------------------
Bin um jeden erdenklichen Vorschlag dankbar
User since
2007-05-11
923
Artikel
HausmeisterIn
Was genau ist denn das Problem? Das Parsen der Mail? Die Auswertung? das regelmäßige starten?
Mmmh,
es geht daum, dass ich keine Ahnung von Perl habe (oder nur sehr sehr wenig). Das nächtliche starten per Cronjob ist ja das kleinste Problem.
Ich weiss nicht, wie ich überhaupt ein file mit Perl nach best. Argumenten durchsuche. Das file heisst unixuser-account und liegt in /var/spool/
User since
2006-11-16
258
Artikel
BenutzerIn
User since
2003-08-04
14371
Artikel
ModeratorIn
So kann man in einer Datei nach einem Muster suchen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use strict;
use warnings;
my $file = '/path/to/file';
my $pattern = 'Empfaenger';
open my $fh, '<', $file or die $!;
while( my $line = <$fh> ){
if( $line =~ /$pattern/ ){
print "gefunden";
last;
}
}
close $fh;
User since
2003-08-21
2614
Artikel
ModeratorIn
Gast+2007-09-11 12:38:43--es geht daum, dass ich keine Ahnung von Perl habe (oder nur sehr sehr wenig). Das nächtliche starten per Cronjob ist ja das kleinste Problem.
Cronjob muss ja gar nicht mal sein. So etwas kann man auch schoen mit procmail oder .forward oder .qmail oder so machen, je nach dem, was fuer ein MTA/MDA verwendet wird.
Ohh ohh,
ich seh schon - extremer Nachholbedarf ...
Ich versuche mich da mal dran, vielen Dank schonmal für die Antworten - ihr seid ja extrem schnell - toll !
Ich glaub mit dem Suchen innerhalb des Files habe ich einigermassen kapiert, aber wie bekomme ich die gesuchten Ergebnisse dann in ein neues File ?
User since
2003-08-04
14371
Artikel
ModeratorIn
Du solltest ganz genau erklären, wie ist die Ausgangslage, was ist das erklärte Ziel... Alle Infos...
Was sind die "gesuchten Ergebnisse"?
Ich werde morgen nochmal genauer darauf eingehen ...
Also:
es soll in einem Statusfile aus dem Quellfile ( /var/mail/unixuser-account )
die folgenden Werte, getrennt mit Semikolon erzeugt werden.
Etwa so: (cvs-file-format)
Absender;Empfaenger;Seiten;Zustellung;Status
aaa@bbb.de;0891111;2;2007-09-04 14:10:24;Zustellung erfolgreich
analog soll die Datei immer weiter gefüllt werden.
So in etwa stelle ich mir das vor ...