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: ----- 1 ----- from email import MIMEText msg = MIMEText.MIMEText("This is a simple message", _charset="latin-1") msg["Subject"] = "Text" print str(msg) ----- /1 ----- ----- 2 ----- from email import MIMENonMultipart msg = MIMENonMultipart.MIMENonMultipart("text", "plain", charset="latin-1") msg["Subject"] = "Simple" msg.set_payload("This is a simple message") print str(msg) ----- /2 ----- ----- 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. -- Oleg Broytmann http://phd.pp.ru/ [EMAIL PROTECTED] Programmers don't die, they just GOSUB without RETURN. _______________________________________________ Email-SIG mailing list Email-SIG@python.org Your options: http://mail.python.org/mailman/options/email-sig/archive%40mail-archive.com