Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Load MHT and Send as EmailLoad a .MHT file and send it as email.
' The mailman object is used for sending and receiving email. Dim mailman As New Chilkat.MailMan() ' Any string argument automatically begins the 30-day trial. Dim success As Boolean success = mailman.UnlockComponent("30-day trial") If (success <> true) Then MsgBox("Component unlock failed") Exit Sub End If ' Set the SMTP server. mailman.SmtpHost = "smtp.comcast.net" ' Create a new email object Dim email As New Chilkat.Email() ' 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). Dim mime As New Chilkat.Mime() success = mime.UnlockComponent("Anything for 30-day trial") If (success <> true) Then MsgBox("Failed to unlock MIME component") Exit Sub End If success = mime.LoadMimeFile("test.mht") If (success <> true) Then MsgBox(mime.LastErrorText) Exit Sub End If ' Is this a multipart/related? If so, find the HTML part, ' which should be the 1st sub-part. If (mime.IsMultipartRelated() = true) Then ' Find the HTML part. Dim mimePart As Chilkat.Mime Dim n As Long Dim i As Long n = mime.NumParts For i = 0 To n - 1 mimePart = mime.GetPart(i) If (mimePart.IsHtml() = true) Then Exit For End If Next If (Not (mimePart Is Nothing )) Then ' Remove these header fields: mimePart.SetHeaderField("Content-Disposition","") mimePart.SetHeaderField("Content-ID","") ' Remove the "name" attribute from the Content-Type header: mimePart.Name = "" End If End If email.SetFromMimeText(mime.GetMime()) email.Subject = "This is a test" email.From = "Chilkat Support <support@chilkatsoft.com>" email.AddTo("Chilkat Admin","admin@chilkatsoft.com") success = mailman.SendEmail(email) If (success <> true) Then MsgBox(mailman.LastErrorText) Else MsgBox("Mail Sent!") End If |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.