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. use chilkat; # The mailman object is used for sending and receiving email. $mailman = new chilkat::CkMailMan(); # Any string argument automatically begins the 30-day trial. $success = $mailman->UnlockComponent("30-day trial"); if ($success != 1) { print "Component unlock failed" . "\n"; exit; } # Set the SMTP server. $mailman->put_SmtpHost("smtp.comcast.net"); # Create a new email object $email = new 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 = new chilkat::CkMime(); $success = $mime->UnlockComponent("Anything for 30-day trial"); if ($success != 1) { print "Failed to unlock MIME component" . "\n"; exit; } $success = $mime->LoadMimeFile("test.mht"); if ($success != 1) { print $mime->lastErrorText() . "\n"; exit; } # Is this a multipart/related? If so, find the HTML part, # which should be the 1st sub-part. if ($mime->IsMultipartRelated() == 1) { # Find the HTML part. $n = $mime->get_NumParts(); for ($i = 0; $i <= $n - 1; $i++) { $mimePart = $mime->GetPart($i); if ($mimePart->IsHtml() == 1) { last; } } if (!($mimePart eq null )) { # 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 != 1) { print $mailman->lastErrorText() . "\n"; } else { print "Mail Sent!" . "\n"; } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.