En Wed, 03 Sep 2008 07:36:30 -0300, Corrado Gioannini <[EMAIL PROTECTED]>
escribi�:
On Tue, Sep 02, 2008 at 04:50:15PM -0300, Gabriel Genellina wrote:
> messg = email.message.Message()
Replace this line with:
messg = email.mime.multipart.MIMEMultipart()
*OR*
Set the Content-Type header to "multipart/mixed" *before* anything else.
thanks Gabriel!
i coudn't have thought that setting the header in a different order
could affect the as_string method. i'll take a look at the code. :)
Yes. This is the offending sequence:
messg = email.message.Message()
messg.set_charset('ISO-8859-15')
messg["Content-type"] = "Multipart/mixed"
"Charset" is not a header by itself; it is an optional parameter of the
Content-Type header. When you call set_charset(), a default 'Content-Type:
text/plain; charset="ISO-8859-15"' header is added. Later, you *add* a new
Content-type header -- remember that the [] notation *appends* a new
header instead of replacing an existing one (yes, it is somewhat
confusing...)
Your message ends up being text/plain, not multiplart as intended.
It's better to be explicit and use the email.mime.multipart.MIMEMultipart
class.
--
Gabriel Genellina
--
http://mail.python.org/mailman/listinfo/python-list