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
(PureBasic) Convert HTML Web Page to Email and SendConverts an HTML page at a URL into an email with embedded images and sends it.
IncludeFile "CkMht.pb" IncludeFile "CkEmail.pb" IncludeFile "CkMailMan.pb" Procedure ChilkatExample() ; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. mailman.i = CkMailMan::ckCreate() If mailman.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; 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.i = CkMht::ckCreate() If mht.i = 0 Debug "Failed to create object." ProcedureReturn EndIf email.i = CkEmail::ckCreate() If email.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; 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. CkMht::setCkUseCids(mht, 1) emlStr.s = CkMht::ckGetEML(mht,"http://www.bonairefishing.com/") If CkMht::ckLastMethodSuccess(mht) <> 1 Debug CkMht::ckLastErrorText(mht) CkMailMan::ckDispose(mailman) CkMht::ckDispose(mht) CkEmail::ckDispose(email) ProcedureReturn EndIf success.i = CkEmail::ckSetFromMimeText(email,emlStr) If success <> 1 Debug CkEmail::ckLastErrorText(email) CkMailMan::ckDispose(mailman) CkMht::ckDispose(mht) CkEmail::ckDispose(email) ProcedureReturn EndIf CkEmail::setCkSubject(email, "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 = CkEmail::ckAddTo(email,"Chilkat Support","support@chilkatsoft.com") ; Note: Chilkat does not regularly check our GMail and Yahoo ; email accounts. Please send support email to support@chilkatsoft.com success = CkEmail::ckAddTo(email,"Chilkat on Yahoo","chilkat_software@yahoo.com") success = CkEmail::ckAddTo(email,"Chilkat on GMail","chilkat.support@gmail.com") CkEmail::setCkFrom(email, "chilkat@live.com") ; Send email using smtp.live.com CkMailMan::setCkSmtpHost(mailman, "smtp.live.com") CkMailMan::setCkSmtpUsername(mailman, "chilkat@live.com") CkMailMan::setCkSmtpPassword(mailman, "myPassword") CkMailMan::setCkSmtpPort(mailman, 587) CkMailMan::setCkStartTLS(mailman, 1) success = CkMailMan::ckSendEmail(mailman,email) If success <> 1 Debug CkMailMan::ckLastErrorText(mailman) CkMailMan::ckDispose(mailman) CkMht::ckDispose(mht) CkEmail::ckDispose(email) ProcedureReturn EndIf success = CkMailMan::ckCloseSmtpConnection(mailman) If success <> 1 Debug CkMailMan::ckLastErrorText(mailman) CkMailMan::ckDispose(mailman) CkMht::ckDispose(mht) CkEmail::ckDispose(email) ProcedureReturn EndIf Debug "HTML Email Sent!" CkMailMan::ckDispose(mailman) CkMht::ckDispose(mht) CkEmail::ckDispose(email) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.