Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
Load MHT and Send as EmailLoad a .MHT file and send it as email. Downloads for Windows/Linux and Install Instructions require 'rubygems' require 'chilkat' # The mailman object is used for sending and receiving email. mailman = Chilkat::CkMailMan.new() # Any string argument automatically begins the 30-day trial. success = mailman.UnlockComponent("30-day trial") if (success != true) print "Component unlock failed" + "\n" exit end # Set the SMTP server. mailman.put_SmtpHost("smtp.comcast.net") # Create a new email object email = Chilkat::CkEmail.new() # 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.new() success = mime.UnlockComponent("Anything for 30-day trial") if (success != true) print "Failed to unlock MIME component" + "\n" exit end success = mime.LoadMimeFile("test.mht") if (success != true) print mime.lastErrorText() + "\n" exit end # 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 0 .. n - 1 mimePart = mime.GetPart(i) if (mimePart.IsHtml() == true) break end end if (!(mimePart == nil )) # Remove these header fields: mimePart.SetHeaderField("Content-Disposition","") mimePart.SetHeaderField("Content-ID","") # Remove the "name" attribute from the Content-Type header: mimePart.put_Name("") end end 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() + "\n" else print "Mail Sent!" + "\n" end |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.