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) Send HTML Email with AttachmentsDemonstrates how to send an HTML email with file attachments.
#include <C_CkMailMan.h> #include <C_CkEmail.h> #include <C_CkStringBuilder.h> void ChilkatSample(void) { HCkMailMan mailman; HCkEmail email; const char *contentIdStarfish; HCkStringBuilder sbHtml; int numReplacements; BOOL success; const char *content; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. mailman = CkMailMan_Create(); CkMailMan_putSmtpHost(mailman,"smtp.my-starttls-mail-server.com"); CkMailMan_putSmtpUsername(mailman,"MY-SMTP-USERNAME"); CkMailMan_putSmtpPassword(mailman,"MY-SMTP-PASSWORD"); CkMailMan_putStartTLS(mailman,TRUE); CkMailMan_putSmtpPort(mailman,587); // Create a new email object email = CkEmail_Create(); CkEmail_putSubject(email,"Test SMTP API to Send HTML Email with Attachments"); CkEmail_putFrom(email,"Joe Programmer <joe@my-starttls-mail-server.com>"); CkEmail_AddTo(email,"Chilkat Support","support@chilkatsoft.com"); // Add a plain-text alternative body, which will likely never be seen. // (It is shown if the receiving email client is incapable of displaying HTML email.) CkEmail_AddPlainTextAlternativeBody(email,"This is a plain-text alternative body..."); // Our HTML will include an image, so add the related image here. contentIdStarfish = CkEmail_addRelatedFile(email,"qa_data/jpg/starfish.jpg"); if (CkEmail_getLastMethodSuccess(email) != TRUE) { printf("%s\n",CkEmail_lastErrorText(email)); CkMailMan_Dispose(mailman); CkEmail_Dispose(email); return; } // The src attribute for the image tag is set to the contentIdStarfish: sbHtml = CkStringBuilder_Create(); CkStringBuilder_Append(sbHtml,"<html><body><p>This is an HTML email with an embedded image.</p>"); CkStringBuilder_Append(sbHtml,"<p><img src=\"cid:CONTENT_ID_STARFISH\" /></p></body></html>"); numReplacements = CkStringBuilder_Replace(sbHtml,"CONTENT_ID_STARFISH",contentIdStarfish); CkEmail_AddHtmlAlternativeBody(email,CkStringBuilder_getAsString(sbHtml)); // Finally, add some attachments to the email. // Add a file attachment. success = CkEmail_AddFileAttachment2(email,"qa_data/pdf/fishing.pdf","application/pdf"); if (success != TRUE) { printf("%s\n",CkEmail_lastErrorText(email)); CkMailMan_Dispose(mailman); CkEmail_Dispose(email); CkStringBuilder_Dispose(sbHtml); return; } // Add an attachment where the content is contained in a string. content = "This is the content of the 2nd attached file."; CkEmail_AddStringAttachment(email,"someText.txt",content); // Send the HTML email. success = CkMailMan_SendEmail(mailman,email); if (success != TRUE) { printf("%s\n",CkMailMan_lastErrorText(mailman)); CkMailMan_Dispose(mailman); CkEmail_Dispose(email); CkStringBuilder_Dispose(sbHtml); return; } success = CkMailMan_CloseSmtpConnection(mailman); if (success != TRUE) { printf("Connection to SMTP server not closed cleanly.\n"); } printf("HTML email with attachments sent!\n"); CkMailMan_Dispose(mailman); CkEmail_Dispose(email); CkStringBuilder_Dispose(sbHtml); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.