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
(C++) Add Image to HTML EmailSee more Email Object ExamplesDemonstrates how to add an image to an HTML email.
#include <CkEmail.h> void ChilkatSample(void) { // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkEmail email; bool success; email.put_From("Matt <matt@example.com>"); email.AddTo("Joe","joe@example.com"); email.put_Subject("This is a test"); // Add an HTML body with an image tag. const char *html = "<html><body><p>Test with image:</p><p><img src=\"/wildlife/starfish.jpg\" /></p></body></html>"; email.SetHtmlBody(html); // Add the image data from a file. The pathInHtml must match the value of the img tag's src attribute. const char *pathInHtml = "/wildlife/starfish.jpg"; // The actual path of the JPG file in the local filesystem: const char *pathOnDisk = "qa_data/jpg/starfish20.jpg"; success = email.AddRelatedFile2(pathOnDisk,pathInHtml); if (success == false) { std::cout << email.lastErrorText() << "\r\n"; return; } // The email is now properly constructed with an image that will be visible in the HTML. // In this example, we'll save it to a .eml file and verify by loading the .eml in an email client such as Mozilla Thunderbird. success = email.SaveEml("qa_output/starfish.eml"); // Also, we can examine the MIME to understand how the image data in the MIME is associated with the img tag in the HTML. // It is the Content-Location header value that must match the value of the img tag's src attribute. std::cout << email.getMime() << "\r\n"; // Here's the MIME: // MIME-Version: 1.0 // Date: Thu, 26 May 2022 11:09:12 -0500 // Message-ID: <B1D499F74F533E287BFE04BBD79AAF1D973B61E3@SLICE> // Content-Type: multipart/related; boundary="------------000205040704010904010706" // X-Priority: 3 (Normal) // From: Matt <matt@example.com> // CKX-Bounce-Address: matt@example.com // To: Joe <joe@example.com> // Subject: This is a test // // --------------000205040704010904010706 // Content-Type: text/html; charset=us-ascii // Content-Transfer-Encoding: 7bit // // <html><body><p>Test with image:</p><p><img src="/wildlife/starfish.jpg" /></p></body></html> // --------------000205040704010904010706 // Content-Type: image/jpeg; name="/wildlife/starfish.jpg" // Content-Transfer-Encoding: base64 // Content-Disposition: inline; filename="/wildlife/starfish.jpg" // Content-Location: /wildlife/starfish.jpg // // /9j/4AAQSkZJRgABAQEASABIAAD//gAmRmlsZSB3cml0dGVuIGJ5IEFkb2JlIFBob3Rvc2hvcD8g // NC4w/9sAQwAQCwwODAoQDg0OEhEQExgoGhgWFhgxIyUdKDozPTw5Mzg3QEhcTkBEV0U3OFBtUVdf // YmdoZz5NcXlwZHhcZWdj/9sAQwEREhIYFRgvGhovY0I4QmNjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj // Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj/8IAEQgAFAAUAwERAAIRAQMRAf/EABcAAAMBAAAA // AAAAAAAAAAAAAAIDBAX/xAAYAQADAQEAAAAAAAAAAAAAAAABAgMEAP/aAAwDAQACEAMQAAAB2kZY // NNEijWKddfTmLgALWH//xAAbEAACAgMBAAAAAAAAAAAAAAABAgMRAAQSE//aAAgBAQABBQL0XqN+ // pM2aqJGMiqFFCyg7z//EABwRAAICAgMAAAAAAAAAAAAAAAERAAIQIQMSUf/aAAgBAwEBPwHqU5aq // Axx+y1tMQl4elj//xAAcEQEAAQUBAQAAAAAAAAAAAAABEQACEBIhA1H/2gAIAQIBAT8B3Bhqy7Zc // enyiwmGgDhiOzj//xAAdEAABAwUBAAAAAAAAAAAAAAABAAIREBIhIkFR/9oACAEBAAY/ArZyn+Cg // xtxWuJaoCnqDuin/xAAcEAABBAMBAAAAAAAAAAAAAAABABEhYRAxQVH/2gAIAQEAAT8hkEwPUUR9 // DYfE4nxtRpIkBTsayuALIiuY/9oADAMBAAIAAwAAABDWPTsf/8QAGhEAAwADAQAAAAAAAAAAAAAA // AAEREDFBIf/aAAgBAwEBPxC0DVPcWm+Ce4OesrkE6bjH/8QAGBEBAQEBAQAAAAAAAAAAAAAAAREA // QRD/2gAIAQIBAT8QahMiOc8YgSrnTY3ELclHXn//xAAcEAEBAAIDAQEAAAAAAAAAAAABEQAhMUFx // EFH/2gAIAQEAAT8Qn3igmSZSj+c4N4zapMy9IjFV98wncN2iuLFsCEbDGxQkI6RO/n//2Q== // // --------------000205040704010904010706-- } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.