[Email-SIG] Creating message parts

Nicholas Cole nicholas.cole at gmail.com
Wed Sep 24 17:46:01 CEST 2008


On Wed, Sep 24, 2008 at 4:06 PM, Oleg Broytmann <phd at phd.pp.ru> wrote:
> On Wed, Sep 24, 2008 at 03:37:53PM +0100, Nicholas Cole wrote:
>> E = email.mime.multipart.MIMEMultipart()
>> print E.as_string()
>>
>> Then E is given a "MIME-Version: 1.0" header, which I don't think it
>> should have (the "parent" email message will have that header, of
>> course).
>>
>> I have a feeling, therefore, that I am doing something wrong!  Should
>> I not be using the MIMEMultipart() calss for this purpose? And if not,
>> what should I be using?
>
>   MIMEMultipart is a class for the top-level part (the entire message).
> For subparts use classes like MIMEText et al. Compare these 3 examples:
>

> ----- 3 -----
> from email import MIMEMultipart, MIMEText
> msg = MIMEMultipart.MIMEMultipart()
> msg["Subject"] = "Multipart"
>
> part = MIMEText.MIMEText("This is a subpart", _charset="latin-1")
> part["Subject"] = "Subpart"
>
> msg.attach(part)
> print str(msg)
> ----- /3 -----
>
> Oleg.

Dear Oleg,

Thanks for the examples - things are looking clearer.  However, in
version 3, on my system the subpart is still given a MIME-Version
header.  Is this not incorrect?

Also, according to the documentation "A MIME-Version: header will also
be added" to the MIMEMultipart class, even though it actually seems to
be added by the MIMEBase class, and therefore to all subclasses.

Best wishes,

Nicholas


More information about the Email-SIG mailing list