|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (C) Send HTML Email with External CSS as Related ItemDemonstrates how to compose an HTML email with an external CSS file included as a related item and referenced by CID (Content-ID). 
 #include <C_CkMailMan.h> #include <C_CkEmail.h> #include <C_CkStringBuilder.h> void ChilkatSample(void) { HCkMailMan mailman; HCkEmail email; HCkStringBuilder sbCss; BOOL bCrlf; const char *filenameInHtml; const char *contentIdCss; HCkStringBuilder sbHtml; int numReplacements; BOOL success; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // The mailman object is used for sending and receiving email. mailman = CkMailMan_Create(); // Use your SMTP server hostname. This example uses office365, but it could be any SMTP server.. CkMailMan_putSmtpHost(mailman,"outlook.office365.com"); CkMailMan_putSmtpPort(mailman,587); CkMailMan_putStartTLS(mailman,TRUE); // Set the SMTP login/password CkMailMan_putSmtpUsername(mailman,"OFFICE365-SMTP-LOGIN"); CkMailMan_putSmtpPassword(mailman,"OFFICE365-SMTP-PASSWORD"); // Create a new email object email = CkEmail_Create(); CkEmail_putSubject(email,"HTML Email with embedded CSS"); CkEmail_putFrom(email,"Chilkat Support <my-office365-user@mydomain.com>"); CkEmail_AddTo(email,"Chilkat Support","support@chilkatsoft.com"); sbCss = CkStringBuilder_Create(); bCrlf = TRUE; CkStringBuilder_AppendLine(sbCss,"body {",bCrlf); CkStringBuilder_AppendLine(sbCss," background-color: powderblue;",bCrlf); CkStringBuilder_AppendLine(sbCss,"}",bCrlf); CkStringBuilder_AppendLine(sbCss,"h1 {",bCrlf); CkStringBuilder_AppendLine(sbCss," color: blue;",bCrlf); CkStringBuilder_AppendLine(sbCss,"}",bCrlf); CkStringBuilder_AppendLine(sbCss,"p {",bCrlf); CkStringBuilder_AppendLine(sbCss," color: red;",bCrlf); CkStringBuilder_AppendLine(sbCss,"}",bCrlf); // It's possible to add a CSS file directly by calling AddRelatedFile. // This example will add the CSS from a string. filenameInHtml = "styles.css"; contentIdCss = CkEmail_addRelatedString(email,filenameInHtml,CkStringBuilder_getAsString(sbCss),"utf-8"); if (CkEmail_getLastMethodSuccess(email) != TRUE) { printf("%s\n",CkEmail_lastErrorText(email)); CkMailMan_Dispose(mailman); CkEmail_Dispose(email); CkStringBuilder_Dispose(sbCss); return; } // The src attribute for the image tag is set to the contentIdCss: sbHtml = CkStringBuilder_Create(); CkStringBuilder_AppendLine(sbHtml,"<!DOCTYPE html>",bCrlf); CkStringBuilder_AppendLine(sbHtml,"<html>",bCrlf); CkStringBuilder_AppendLine(sbHtml,"<head>",bCrlf); CkStringBuilder_AppendLine(sbHtml," <link rel=\"stylesheet\" href=\"cid:CONTENT_ID_CSS\">",bCrlf); CkStringBuilder_AppendLine(sbHtml,"</head>",bCrlf); CkStringBuilder_AppendLine(sbHtml,"<body>",bCrlf); CkStringBuilder_AppendLine(sbHtml,"",bCrlf); CkStringBuilder_AppendLine(sbHtml,"<h1>This is a heading</h1>",bCrlf); CkStringBuilder_AppendLine(sbHtml,"<p>This is a paragraph.</p>",bCrlf); CkStringBuilder_AppendLine(sbHtml,"",bCrlf); CkStringBuilder_AppendLine(sbHtml,"</body>",bCrlf); CkStringBuilder_AppendLine(sbHtml,"</html>",bCrlf); numReplacements = CkStringBuilder_Replace(sbHtml,"CONTENT_ID_CSS",contentIdCss); CkEmail_SetHtmlBody(email,CkStringBuilder_getAsString(sbHtml)); success = CkMailMan_SendEmail(mailman,email); if (success != TRUE) { printf("%s\n",CkMailMan_lastErrorText(mailman)); } else { printf("Mail Sent!\n"); } CkMailMan_Dispose(mailman); CkEmail_Dispose(email); CkStringBuilder_Dispose(sbCss); CkStringBuilder_Dispose(sbHtml); } | ||||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.