PDF Anhang aus Mail extrahieren und Ausdrucken.

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
godsmacker
Beiträge: 902
Registriert: 16.03.2003 21:50:26
Lizenz eigener Beiträge: Artistic Lizenz
Wohnort: Chemnitz
Kontaktdaten:

PDF Anhang aus Mail extrahieren und Ausdrucken.

Beitrag von godsmacker » 01.12.2003 22:07:52

Hallo, ich möchte gerne bestimmte Mails, welche eine PDF Datei als Anhang enthalten auseinandernehmen und die enthaltene PDF ausdrucken.

Ich dachte mir mal, daß das erkennen der Mails mit procmail, was ohnehin läuft am einfachsten sein würde.
Um die Mails zu erkennen habe ich inzwischen auch eine entsprechende Regel.

Nun müsste man den einen Anhang mit der PDF von der gesammten Mail extrahieren.
Dazu habe ich mir ein kleines Perl Skript geschreiebn, was recht gut funktioniert.
Dessen Ergebnis ist dann so etwas:

Code: Alles auswählen

Content-Type: APPLICATION/OCTET-STREAM; name="RG57845002.pdf"
Content-transfer-encoding: base64

JVBERi0xLjMNCiX15Pb8DQoNCjcgMCBvYmogPDwgL1R5cGUgL1hPYmplY3QN
Ci9TdWJ0eXBlIC9JbWFnZQ0KL05hbWUgL0kxDQovV2lkdGggNDcNCi9IZWln
[...]
IFINCi9Sb290IDIgMCBSDQovU2l6ZSAxNg0KPj4NCnN0YXJ0eHJlZg0KMjM5
OTANCiUlRU9GDQo=
Ja, schonmal ganz schick, nur muss ich daraus jetzt noch die endgültige PDF Datei herausbekommen. Das geht meines wissens nach mit uudecode.
Den direkten Output meines Skriptes mag dies aber nicht., da kein begin oder end tag enthalten ist. Ich habe versucht diese mal selbst einzufügen, aber das Ergebnis was niemals eine korrekte PDF Datei.
Ist es erst mal vom Ansatz her richtig die Datei mit uudecode zu dekodieren, oder gibt es da etwas anderes?
Ziel soll zunächst einmal eine pdf Datei und danach das Ausdrucken selbiger sein.

Danke für alle Hinweise.

Gruß,
Florian

Benutzeravatar
kleiner_Held
Beiträge: 61
Registriert: 16.07.2002 17:12:08
Wohnort: Dresden
Kontaktdaten:

Beitrag von kleiner_Held » 05.12.2003 18:53:49

Hi,

ist zwar eventuell etwas spät für ne Antwort, aber besser spät als nie.

uudecode wird dir nicht helfen, da das encoding in der mail mit base64 vorgenommen wurde, das ist auch standard.
Fürs base64 decodieren gibt es auch fertige perl module, ich weiss jetzt aber nicht wie die heissen.
Ich hab das auch mal per Hand in Perl geschrieben, wenn du es brauchst dann sag Bescheid.

so long

Benutzeravatar
godsmacker
Beiträge: 902
Registriert: 16.03.2003 21:50:26
Lizenz eigener Beiträge: Artistic Lizenz
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von godsmacker » 06.12.2003 22:55:15

Och, es eilt ja nicht. :)
Das Modul, welches Du meinst ist wohl MIME::Base64. Ich werde morgen etwas damit herumexperimentieren und jetzt erst einmal schlafen gehen.
Also eine Gute Nacht und danke für die Antwort.

Florian

Benutzeravatar
godsmacker
Beiträge: 902
Registriert: 16.03.2003 21:50:26
Lizenz eigener Beiträge: Artistic Lizenz
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von godsmacker » 07.12.2003 20:34:52

Ok, ich hab mir jetzt mit dem Modul, welches Du meintest ein kleines Skript zusammengebaut, welches mir das pdf attachment richtig extrahiert. Das kann ich nun in eine Datei lenken, im PS umwandeln und dann ausdrucken.
Das Problem ist jetzt nur wie ich die gesammte Mail mit procmail an dieses Skript weiterleite. Wenn ich einfach nur

Code: Alles auswählen

:0bc
| meinskript
oder

Code: Alles auswählen

:0c
| meinskript
verwende, dann werden lediglich die text/plain Teile des Bodys bzw. noch zusätzlich die Header der Mail an die Pipe geliefert. Ich brauche aber unbedingt die gesammte Mail inklusive Attachments.
Wie kann ich das erreichen?

Gruß,
Florian

Benutzeravatar
kleiner_Held
Beiträge: 61
Registriert: 16.07.2002 17:12:08
Wohnort: Dresden
Kontaktdaten:

Beitrag von kleiner_Held » 09.12.2003 12:31:10

Hi,

da kann ich Dir leider nicht weiterhelfen, denn mit procmail kenn ich mich nicht wirklich aus. Am besten Du machst für dieses Problem einen neuen Thread auf.

Gruß

Antworten