• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Mail an Script übergeben

Status
Für weitere Antworten geschlossen.
Hallo,

ich habe vor eine Art Schnittstelle per Script zu erstellen. Im Grunde soll es möglich sein, ein Dokument (z.B. Word) an eine bestimmte E-Mail Adresse zu schicken, so dass ein Script diese Mail weiterverarbieten kann. Am Ende soll dann ein PDF oder eine HTML Seite herauskommen. Auf diesem Wege soll der Essensplan einer Schule auf deren Internetseite aktuell gehalten werden.

Kann man einfach einen Eintrag in /etc/aliases vornehmen, wie z.B.:

mailalias | /path/to/script

Gruss

Christian
 
Hi,

interessant.
Wahrscheinlich ist das Linux-Printsystem mit postfix und fetchmail besser dafür geeignet als kmail, das ich benutze.
Bei kmail liegen bei mir eingehende Emails in

/home/user/.kde/share/apps/kmail/mail/inbox/cur

Da könnte man ansetzen.
(Vielleicht könnte man kmail per DCOP veranlassen, eine Mail automatisch zu senden ... Brauchst Du wohl nicht (aber ich)).

Falls Du's schaffst, poste doch bitte Deinen Code.

Viele Grüße
 
So, nach kurzer Recherche kam ich zu folgendem Ergebnis:

/etc/aliases:

mailalias: | "/path/to/script"

Die nächste Frage ist allerdings, wie extrahiere ich das Attachement aus der Mail?
 
Wieso "Ergebnis" ?
Das hattest Du doch oben schon geschrieben.
Trotzdem hast Du damit überhaupt nicht erreicht, was Du wolltest.

wie extrahiere ich das Attachement aus der Mail?

Python kann's:

http://forums.devshed.com/python-programming-11/easy-way-to-read-tif-attachments-from-email-78089.html

Perl auch.

Gruß
 
wie extrahiere ich das Attachement aus der Mail?

In Python also so:

Code:
#!/usr/bin/env python

import email

# Change this to the location of the email-file:
FILENAME = "/home/user/myemail"

f = file(FILENAME, "r")
msg = email.message_from_file(f) 

for data in msg.walk():
    name = data.get_filename() 
    # print name

    if name == None:
        continue

    if name.endswith(".doc"):
        f2 = file(name, 'w')
        f2.write(data.get_payload(decode = 1))
        f2.close()

f.close()

Mit "kurzer Recherche" und irgendwelchen Einträgen in /etc kommst Du also nicht aus.
Mußt schon etwas programmieren.

Gruß
 
Status
Für weitere Antworten geschlossen.
Oben