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.
#include <CkMailMan.h> #include <CkEmail.h> #include <CkMime.h> void ChilkatSample(void) { // The mailman object is used for sending and receiving email. CkMailMan mailman; // Any string argument automatically begins the 30-day trial. bool success; success = mailman.UnlockComponent("30-day trial"); if (success != true) { printf("Component unlock failed\n"); return; } // Set the SMTP server. mailman.put_SmtpHost("smtp.comcast.net"); // Create a new email object CkEmail 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). CkMime mime; success = mime.UnlockComponent("Anything for 30-day trial"); if (success != true) { printf("Failed to unlock MIME component\n"); return; } success = mime.LoadMimeFile("test.mht"); if (success != true) { printf("%s\n",mime.lastErrorText()); return; } // 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. CkMime *mimePart = 0; int n; int i; n = mime.get_NumParts(); for (i = 0; i <= n - 1; i++) { mimePart = mime.GetPart(i); if (mimePart->IsHtml() == true) { break; } delete mimePart; } if (!(mimePart == 0 )) { // Remove these header fields: mimePart->SetHeaderField("Content-Disposition",""); mimePart->SetHeaderField("Content-ID",""); // Remove the "name" attribute from the Content-Type header: mimePart->put_Name(""); delete mimePart; } } 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) { printf("%s\n",mailman.lastErrorText()); } else { printf("Mail Sent!\n"); } } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.