Mailanhänge aus Mails automatisch entnehmen
Hallo, wie kann man die Anhänge einer Mail sozusagen entnehmen, um sie automatisiert weiterzuverarbeiten? Die Anhänge sollen mit Ihren eigentlichen Namen gespeichert werden. Grüße, Werner ______________________________________________________________________________ Viren? Wir wissen nicht was Ihr Arzt empfiehlt. Wir empfehlen den Virencheck für Ihre E-Mail-Anhänge! http://freemail.web.de/features/?mc=021159
* On Mon, 10 Feb 2003 at 12:47 +0100, Werner Ginzky wrote:
wie kann man die Anhänge einer Mail sozusagen entnehmen, um sie automatisiert weiterzuverarbeiten?
Die Anhänge sollen mit Ihren eigentlichen Namen gespeichert werden.
Schau Dir mal http://www.pldaniels.com/ripmime/ an. -- Adalbert GPG welcome, request public key: mailto:adalbert+key@lopez.at
wie kann man die Anhänge einer Mail sozusagen entnehmen, um sie automatisiert weiterzuverarbeiten?
Die Anhänge sollen mit Ihren eigentlichen Namen gespeichert werden.
Mag sein, dass es dafuer spezielle Programme gibt, aber ich schreibe mir fuer solche Aufgaben kurze Python-Skripte. Hier zur Illustration eins, das in etwa das Gegenteil macht: es filtert Anhaenge heraus und schickt das Ergebnis an eine andere Adresse weiter. Ich benutze das, um Mails zum Abruf unterwegs (mit meinem Zaurus ueber Handy) vorzubereiten. Das Skript bekommt die Mail auf stdin (von procmail). Konrad. #!/usr/bin/python import email, smtplib, sys from email.MIMEText import MIMEText def filter(message, toplevel=0): if message.is_multipart(): keep = [] text_type = [] text_plain_count = 0 for part in message.get_payload(): if part.is_multipart(): filter(part) else: content = part.get_content_type() if content[:4] == 'text': text_type.append(part) if content == 'text/plain': keep.append(part) text_plain_count += 1 else: note = 'Removed data of type %s\n' % content filename = part.get_filename('none') if filename != 'none': note = note + 'Filename: %s\n' % filename keep.append(MIMEText(note)) if toplevel and text_plain_count == 0: keep.insert(0, text_type[0]) message.set_payload(keep) message = email.message_from_file(sys.stdin) filter(message, 1) server = smtplib.SMTP('localhost') server.sendmail('me@this.account', 'me@other.account', message.as_string()) server.quit()
Hallo Konrad, Konrad Hinsen schrieb:
wie kann man die Anhänge einer Mail sozusagen entnehmen, um sie automatisiert weiterzuverarbeiten?
Die Anhänge sollen mit Ihren eigentlichen Namen gespeichert werden.
Mag sein, dass es dafuer spezielle Programme gibt, aber ich schreibe mir fuer solche Aufgaben kurze Python-Skripte. Hier zur Illustration eins, das in etwa das Gegenteil macht: es filtert Anhaenge heraus und schickt das Ergebnis an eine andere Adresse weiter. Ich benutze das, um Mails zum Abruf unterwegs (mit meinem Zaurus ueber Handy) vorzubereiten. Das Skript bekommt die Mail auf stdin (von procmail).
Konrad.
das hört sich so an, als wenn ich es verwenden könnte. Ist es viel Aufwand, wenn Du Dein Script so umänderst, das es die Anhänge in einem Verzeichnis ablegt? Könntest Du den Namen des Verzeichnisses in eine Variable packen? Wäre absolut super. Danke, Werner
Am Mon, 10 Feb 2003, schrieb Werner Ginzky:
Hallo,
wie kann man die Anhänge einer Mail sozusagen entnehmen, um sie automatisiert weiterzuverarbeiten?
Die Anhänge sollen mit Ihren eigentlichen Namen gespeichert werden.
Versuche es mal mit dem Perlskript mimeStrip.pl Das Skript holt alle Dateianhänge aus der Mail heraus, speichert diese in einen beliebigen Pfad mit Originaldateiname und spuckt die Mail ohne Anhang wieder aus. Du kannst mit procmail alle eingehenden Mails die Dateianhänge enthalten in in das Skript pipen. Diese Mails erkennst Du an der Headerzeile Content-Type: multipart/mixed Das Skript gibts hier: http://freshmeat.net/search/?q=mimestrip&trove_cat_id=14§ion=trove_cat Gruß Hannes
participants (5)
-
Adalbert Michelic
-
Hannes Vogelmann
-
Konrad Hinsen
-
Werner Ginzky
-
Werner Ginzky