Jak odstranit z mailu prilohy

Ondrej Sury sury.ondrej na globe.cz
Pondělí Listopad 18 12:55:06 CET 2002


Pavel Lisy <pali na tmapy.cz> writes:

Obcas to na nejakem spamu spadne...

#!/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()


> Dobry den
>
> potrebuji vyse zminene pro dve veci. 
>
> 1. Uchovavame postu v Cyrus IMAP serveru a z duvodu uspory mista, by
> uzivatele chteli z existujici posty odstranit vsechny prilohy. V
> idealnim pripade by si to meli delat sami, stacil by mi ale take nejaky
> spolehlivy nastroj, ktery by to pomoci skriptu vyparal z nejakeho mail
> folderu. Cyrus IMAP uklada jednotlive maily do zvlastnich souboru, takze
> to bude nejspis format MAILDIR.
>
> 2. Pri preposilani emailu na sms dochazi k problemum s velkymi maily s
> prilohami. Jsem schopen to vyresit nastavenim filtru na velikost emailu,
> ale lepsi by bylo, vyriznout prilohu a poslat to dal. 
>
> Predpokladam, ze to jiz mnoho lidi muselo resit, ale ani na google nebo
> v archivu jsem nic moc nenasel.
>
> OTAZKY:
>
> 1) Jak vyse zminene resite? (existuje nejaky std. nastroj, nebo si to
> pise kazdy sam)
>
> 2) Jake jsou s tim zkusenosti? (spolehlivost rozpoznani prilohy, ...)
>
> 3) Uvitam odkazy na nejakou dokumentaci ci pokec k temto tematum.
>
> Pavel Lisy

-- 
Ondrej Sury - CIO                   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