Python Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Python Examples

Quick Start
Python Unicode
Python Byte Array
Python Certs
Python Email
Python Encryption
Python FTP
HTML-to-XML
Python HTTP
Python IMAP
Python MHT
Python MIME
Python RSA
Python S/MIME
Python Signatures
Python Socket
Python Spider
Python Tar
Python Upload
Python XML
Python XMP
Python Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA

Unreleased...
Bzip2
LZW
Bz2
Icon

 

 

 

 

 

 

 

Load MHT and Send as Email

Load a .MHT file and send it as email.

Download Chilkat Python Library

import sys
import chilkat

#  The mailman object is used for sending and receiving email.
mailman = chilkat.CkMailMan()

#  Any string argument automatically begins the 30-day trial.
success = mailman.UnlockComponent("30-day trial")
if (success != True):
    print "Component unlock failed"
    sys.exit()

#  Set the SMTP server.
mailman.put_SmtpHost("smtp.comcast.net")

#  Create a new email object
email = chilkat.CkEmail()

#  MHT is MIME and therefore can be loaded directly
#  into an email object via the email.LoadEml method.
#  However, if the HTML sub-part of the MIME contains
#  header fields such as this:

#  Content-ID: <BalanceSheet>
#  Content-Disposition: inline;
#  	filename="BalanceSheet"
#  Content-Type: text/html;
#  	name="BalanceSheet";
#  	charset="utf-8"

#  Microsoft Outlook will interpret this as an attached HTML file
#  rather than the HTML body of the email.  Interestingly,
#  Mozilla Thunderbird handles it correctly, but Outlook does not.
#  Google's GMail also handles it correctly.  Yahoo Mail doesn't
#  know what to do and displays nothing -- not even the "attachment".

#  Rather than loading the MHT into the email object, we'll
#  first load it into a Chilkat MIME object and check for
#  these headers.  We want the header fields of the HTML sub-part
#  to look like this:

#  Content-Type: text/html;
#  	charset="utf-8"

#  To do so, we'll remove the Content-ID and Content-Disposition
#  header fields, and the "name" attribute from the
#  Content-Type header.

#  Note: Chilkat MIME is a separate product.  This code
#  would require licenses to both Chilkat Email and Chilkat Mime,
#  or alternatively a Chilkat Bundle license (which includes
#  all Chilkat components).

mime = chilkat.CkMime()

success = mime.UnlockComponent("Anything for 30-day trial")
if (success != True):
    print "Failed to unlock MIME component"
    sys.exit()

success = mime.LoadMimeFile("test.mht")
if (success != True):
    print mime.lastErrorText()
    sys.exit()

#  Is this a multipart/related?  If so, find the HTML part,
#  which should be the 1st sub-part.
if (mime.IsMultipartRelated() == True):
    #  Find the HTML part.

    n = mime.get_NumParts()

    for i in range(0,n):
        mimePart = mime.GetPart(i)
        if (mimePart.IsHtml() == True):
            break

    if (not (mimePart == None )):
        #  Remove these header fields:
        mimePart.SetHeaderField("Content-Disposition","")
        mimePart.SetHeaderField("Content-ID","")
        #  Remove the "name" attribute from the Content-Type header:
        mimePart.put_Name("")

email.SetFromMimeText(mime.getMime())

email.put_Subject("This is a test")

email.put_From("Chilkat Support <support@chilkatsoft.com>")
email.AddTo("Chilkat Admin","admin@chilkatsoft.com")

success = mailman.SendEmail(email)
if (success != True):
    print mailman.lastErrorText()
else:
    print "Mail Sent!"

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2007 Chilkat Software, Inc. All Rights Reserved.