Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ Delphi FoxPro Java Perl 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 ChilkatMailMan2 ' Any string argument automatically begins the 30-day trial. Dim success As Long success = mailman.UnlockComponent("30-day trial") If (success <> 1) 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 ChilkatEmail2 ' 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 ChilkatMime success = mime.UnlockComponent("Anything for 30-day trial") If (success <> 1) Then MsgBox "Failed to unlock MIME component" Exit Sub End If success = mime.LoadMimeFile("test.mht") If (success <> 1) 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() = 1) Then ' Find the HTML part. Dim mimePart As ChilkatMime Dim n As Long Dim i As Long n = mime.NumParts For i = 0 To n - 1 Set mimePart = mime.GetPart(i) If (mimePart.IsHtml() = 1) 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 <> 1) Then MsgBox mailman.LastErrorText Else MsgBox "Mail Sent!" End If |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.