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
(Swift 3,4,5...) Add Image to HTML EmailSee more Email Object ExamplesDemonstrates how to add an image to an HTML email.
func chilkatTest() { // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. let email = CkoEmail()! var success: Bool email.from = "Matt <matt@example.com>" email.add(to: "Joe", emailAddress: "joe@example.com") email.subject = "This is a test" // Add an HTML body with an image tag. var html: String? = "<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. var pathInHtml: String? = "/wildlife/starfish.jpg" // The actual path of the JPG file in the local filesystem: var pathOnDisk: String? = "qa_data/jpg/starfish20.jpg" success = email.addRelatedFile2(pathOnDisk, filenameInHtml: pathInHtml) if success == false { print("\(email.lastErrorText!)") 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. print("\(email.getMime()!)") // 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.