[Plone-IT] [Plone 2.5.5] inviare una mail con il contenuto di un FileField come allegato

moaiamorfo moaiamorfo a gmail.com
Ven 9 Gen 2009 10:10:48 UTC


salve a tutti,

ho un tipo di contenuto che rappresenta il corpo di un messaggio
newsletter, al quale ho aggiunto un campo FileField per specificare un
allegato.
il problema è che in nessun modo, in fase di invio, riesco a
intercettare correttamente il file da allegare alla mail.
cercando un po' in giro, ho visto che PloneFormGen fa quello di cui
necessito, così:

        for field in fields:
            if field.isFileField():
                file = request.form.get('%s_file' % field.__name__, None)
                if file and isinstance(file, FileUpload) and
file.filename != '':
                    file.seek(0) # rewind
                    data = file.read()
                    filename = file.filename
                    mimetype, enc = guess_content_type(filename, data, None)
                    attachments.append((filename, mimetype, enc, data))

il problema è che, anche se riesco ad avere un riferimento al mio
FileField, esso non è mai un'istanza di FileUpload e dunque seek e
read non posso utilizzarli. anche un banale getFile().read() non
funziona.
come posso procedere? a nessuno è mai capitato di dover allegare il
valore di un FileField a una mail?

grazie a tutti. :)

saluti

-- 
Antonio Fittipaldi
http://www.python-it.org # il punto di riferimento italiano per gli
appassionati di Python




Maggiori informazioni sulla lista Plone-IT