Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Unicode C) Convert HTML Web Page to Email and SendConverts an HTML page at a URL into an email with embedded images and sends it.
#include <C_CkMailManW.h> #include <C_CkMhtW.h> #include <C_CkEmailW.h> void ChilkatSample(void) { HCkMailManW mailman; HCkMhtW mht; HCkEmailW email; const wchar_t *emlStr; BOOL success; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. mailman = CkMailManW_Create(); // The MHT component can be used to convert an HTML page // from a URL, file, or in-memory HTML into an email // with embedded images and style sheets. mht = CkMhtW_Create(); email = CkEmailW_Create(); // There are two ways of embedding images in emails: with CIDs // and without. When using CIDs, the IMG SRC attributes use // urls that begin with "cid:" and the corresponding image // embedded within the email includes a Content-ID header field. // When not using CIDs, the IMG SRC attribute can have a URL, // path, etc. and the corresponding image embedded within // the email has a matching Content-Location header field. // When testing with GMail, if CIDs are used the email will // be displayed with images blocked (by default) unless // the user allows them to be displayed. Without CIDs, // the images are automatically displayed. // When testing with Eudora, Mozilla Thunderbird, and Outlook Express, // embedded images display correctly with our without CIDs. // When testing with Yahoo! Mail, embedded images display OK. // However, the Yahoo! Mail user has the option of blocking // images. If this is turned on, the CID images will still // display correctly even though images are blocked. Why? // It's because when viewing the email there is no external // HTTP request to fetch an image. Therefore, a spammer // cannot get an indication that you've read the email. // However, if CIDs are not used, the images are blocked by // any Yahoo! Mail user that has image blocking turned on -- // even though the images are embedded. // I haven't tested Hotmail yet... // Regardless, there is no perfect solution. If CIDs are used, // GMail users may block your embedded images, if CIDs are not // used, Yahoo! Mail users may block your embedded images. // I recommend setting using CIDs. This is what Mozilla Thunderbird // does by default, and it's the more clear an unambiguous way // to indicate that images are indeed embedded. CkMhtW_putUseCids(mht,TRUE); emlStr = CkMhtW_getEML(mht,L"http://www.bonairefishing.com/"); if (CkMhtW_getLastMethodSuccess(mht) != TRUE) { wprintf(L"%s\n",CkMhtW_lastErrorText(mht)); CkMailManW_Dispose(mailman); CkMhtW_Dispose(mht); CkEmailW_Dispose(email); return; } success = CkEmailW_SetFromMimeText(email,emlStr); if (success != TRUE) { wprintf(L"%s\n",CkEmailW_lastErrorText(email)); CkMailManW_Dispose(mailman); CkMhtW_Dispose(mht); CkEmailW_Dispose(email); return; } CkEmailW_putSubject(email,L"Test HTML email"); // This example is tested in: // Outlook 2000, Eudora 7, Mozilla Thunderbird 1.5.0.9, Outlook Express 6, GMail, Yahoo Mail success = CkEmailW_AddTo(email,L"Chilkat Support",L"support@chilkatsoft.com"); // Note: Chilkat does not regularly check our GMail and Yahoo // email accounts. Please send support email to support@chilkatsoft.com success = CkEmailW_AddTo(email,L"Chilkat on Yahoo",L"chilkat_software@yahoo.com"); success = CkEmailW_AddTo(email,L"Chilkat on GMail",L"chilkat.support@gmail.com"); CkEmailW_putFrom(email,L"chilkat@live.com"); // Send email using smtp.live.com CkMailManW_putSmtpHost(mailman,L"smtp.live.com"); CkMailManW_putSmtpUsername(mailman,L"chilkat@live.com"); CkMailManW_putSmtpPassword(mailman,L"myPassword"); CkMailManW_putSmtpPort(mailman,587); CkMailManW_putStartTLS(mailman,TRUE); success = CkMailManW_SendEmail(mailman,email); if (success != TRUE) { wprintf(L"%s\n",CkMailManW_lastErrorText(mailman)); CkMailManW_Dispose(mailman); CkMhtW_Dispose(mht); CkEmailW_Dispose(email); return; } success = CkMailManW_CloseSmtpConnection(mailman); if (success != TRUE) { wprintf(L"%s\n",CkMailManW_lastErrorText(mailman)); CkMailManW_Dispose(mailman); CkMhtW_Dispose(mht); CkEmailW_Dispose(email); return; } wprintf(L"HTML Email Sent!\n"); CkMailManW_Dispose(mailman); CkMhtW_Dispose(mht); CkEmailW_Dispose(email); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.