|
|
Load MHT and Send as Email
Load a .MHT file and send it as email.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
' The mailman object is used for sending and receiving email.
set mailman = Server.CreateObject("Chilkat_9_5_0.MailMan")
' Any string argument automatically begins the 30-day trial.
success = mailman.UnlockComponent("30-day trial")
If (success <> 1) Then
Response.Write Server.HtmlEncode("Component unlock failed") & "<br>"
End If
' Set the SMTP server.
mailman.SmtpHost = "smtp.comcast.net"
' Create a new email object
set email = Server.CreateObject("Chilkat_9_5_0.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).
set mime = Server.CreateObject("Chilkat_9_5_0.Mime")
success = mime.UnlockComponent("Anything for 30-day trial")
If (success <> 1) Then
Response.Write Server.HtmlEncode("Failed to unlock MIME component") & "<br>"
End If
success = mime.LoadMimeFile("test.mht")
If (success <> 1) Then
Response.Write Server.HtmlEncode(mime.LastErrorText) & "<br>"
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.
n = mime.NumParts
For i = 0 To n - 1
Set mimePart = mime.GetPart(i)
If (mimePart.IsHtml() = 1) Then
Exit Do
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
Response.Write Server.HtmlEncode(mailman.LastErrorText) & "<br>"
Else
Response.Write Server.HtmlEncode("Mail Sent!") & "<br>"
End If
%>
</body>
</html>
|