Procmail: pomoc s ~/.procmailrc regex?

Ondrej Sury sury.ondrej na globe.cz
Úterý Březen 25 20:22:42 CET 2003


"[TJ] Pytt'l the Floyd" <tomi na nomi.cz> writes:

> Ja jsem neco podobneho napsal, bylo to urceno pro posilani zkracenych mailu na
> mobil a ve chvili, kdy jsem prisel na multipart, jsem to vzdal. Ale muzu ho
> poskytnout siroke verejnosti, aby tam nekdo ten multipart napsal, pripadne ho
> tam taky muzu napsat sam, ale to hned tak nebude.

Pokud jde o vyrezavani text/plain priloh z mime mailu, tak muzu poskytnout
muj programek v pythonu.  To, ze to na zacatek zpravy pridava T:<nazev schranky>
jiste uhadnete a jiste i prijdete na to, jak toto zrusit ;-)

Obcas to nezvladne proparsovat nejaky zpraseny spam, ale s tim se muzete
nebo nemusite smirit...

O.

root na master:~# cat /usr/bin/mimestrip
#!/usr/bin/env python2.2
import email
import os
import email.Message as _msg
import string

msg = email.message_from_file(os.fdopen(0));
nmsg = _msg.Message()

recipient = os.getenv("RECIPIENT",msg['delivered-to'])

for label in ('From','To','Date','Subject'):
        value = msg[label]
        if value == 'None':
                value = 'empty'
        nmsg[label] = value;

for part in msg.walk():
        if part.get_main_type('text').lower() == 'text':
                for label in ('Content-Transfer-Encoding','Content-Type'):
                        if part[label] != None:
                                nmsg[label] = part[label]

                payload = part.get_payload()
                if payload == None:
                        payload = 'prazdne telo/empty body'
                nmsg.add_payload('T:'+recipient+'-'+payload)
                break

try:
        print nmsg.as_string()
except:
        # Spatne se nam sestavila nmsg :(
        print msg.as_string()
        fn = os.tempnam("/var/notify",recipient)
        fp = file(fn,"w")
        fp.write(msg.as_string())
        fp.close()


-- 
Ondrej Sury - co/CTO                Globe Internet s.r.o. http://globe.cz/
Tel: +420(2)35365000 Fax: +420(2)35365009     Planickova 1, 162 00 Praha 6


Další informace o konferenci Linux