|  | 
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
| (Delphi DLL) 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). 
 uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, MailMan, StringBuilder, Email; ... procedure TForm1.Button1Click(Sender: TObject); var mailman: HCkMailMan; email: HCkEmail; sbCss: HCkStringBuilder; bCrlf: Boolean; filenameInHtml: PWideChar; contentIdCss: PWideChar; sbHtml: HCkStringBuilder; numReplacements: Integer; success: Boolean; begin // 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) then begin Memo1.Lines.Add(CkEmail__lastErrorText(email)); Exit; end; // 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) then begin Memo1.Lines.Add(CkMailMan__lastErrorText(mailman)); end else begin Memo1.Lines.Add('Mail Sent!'); end; CkMailMan_Dispose(mailman); CkEmail_Dispose(email); CkStringBuilder_Dispose(sbCss); CkStringBuilder_Dispose(sbHtml); end; | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.