Schrift
[thread]10369[/thread]

Mails an Unix sollen mit Perl verarbeitet werden

Leser: 1


<< >> 10 Einträge, 1 Seite
Gast Gast
 2007-09-11 13:54
#99318 #99318
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
moritz
 2007-09-11 14:21
#99319 #99319
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Was genau ist denn das Problem? Das Parsen der Mail? Die Auswertung? das regelmäßige starten?
Gast Gast
 2007-09-11 14:38
#99320 #99320
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/
RalphFFM
 2007-09-11 14:40
#99321 #99321
User since
2006-11-16
258 Artikel
BenutzerIn
[Homepage] [default_avatar]
renee
 2007-09-11 14:43
#99323 #99323
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
So kann man in einer Datei nach einem Muster suchen:

Code (perl): (dl )
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
#!/usr/bin/perl

use strict;
use warnings;

# Pfad zur Mail...
my $file = '/path/to/file';

# dieser Ausdruck soll gesucht werden
my $pattern = 'Empfaenger';

# oeffnen der Datei zum Lesen
# '<', gibt an, dass es zum Lesen geoeffnet wird
# Bei einem Fehler "stirbt" das Programm
open my $fh, '<', $file or die $!;

# Zeilenweises einlesen
while( my $line = <$fh> ){
    # wenn $pattern gefunden, dann abbruch
    # wenn in $pattern immer nur ein String steht, besser "index" verwenden
    if( $line =~ /$pattern/ ){
        print "gefunden";
        last;
    }
}

# Filehandle wieder schliessen
close $fh;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
betterworld
 2007-09-11 15:37
#99328 #99328
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
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.
Gast Gast
 2007-09-11 16:02
#99329 #99329
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 ?
renee
 2007-09-11 16:07
#99331 #99331
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du solltest ganz genau erklären, wie ist die Ausgangslage, was ist das erklärte Ziel... Alle Infos...

Was sind die "gesuchten Ergebnisse"?
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2007-09-11 23:19
#99360 #99360
Ich werde morgen nochmal genauer darauf eingehen ...
Gast Gast
 2007-09-13 17:41
#99442 #99442
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 ...

<< >> 10 Einträge, 1 Seite



View all threads created 2007-09-11 13:54.