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 Email With AttachmentsDemonstrates how to send an email with attachments.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, MailMan, Email; ... procedure TForm1.Button1Click(Sender: TObject); var mailman: HCkMailMan; email: HCkEmail; success: Boolean; contentType: PWideChar; 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 (SMTP) and receiving (POP3) email. mailman := CkMailMan_Create(); // Set the SMTP server. CkMailMan_putSmtpHost(mailman,'smtp.my-tls-mail-server.com'); // Set the SMTP login/password (if required) CkMailMan_putSmtpUsername(mailman,'MY_SMTP_USERNAME'); CkMailMan_putSmtpPassword(mailman,'MY_SMTP_PASSWORD'); // Connect to SMTP port 465 using TLS. CkMailMan_putSmtpSsl(mailman,True); CkMailMan_putSmtpPort(mailman,465); // Create a new email object email := CkEmail_Create(); CkEmail_putSubject(email,'This is a test'); CkEmail_putBody(email,'This is a test'); CkEmail_putFrom(email,'Chilkat Support <support@chilkatsoft.com>'); success := CkEmail_AddTo(email,'Chilkat Admin','admin@chilkatsoft.com'); // To add more recipients, call AddTo, AddCC, or AddBcc once per recipient. // Add some attachments. // The AddFileAttachment method returns the value of the content-type it chose for the attachment. contentType := CkEmail__addFileAttachment(email,'qa_data/jpg/starfish.jpg'); if (CkEmail_getLastMethodSuccess(email) <> True) then begin Memo1.Lines.Add(CkEmail__lastErrorText(email)); Exit; end; contentType := CkEmail__addFileAttachment(email,'qa_data/pdf/fishing.pdf'); if (CkEmail_getLastMethodSuccess(email) <> True) then begin Memo1.Lines.Add(CkEmail__lastErrorText(email)); Exit; end; // Call SendEmail to connect to the SMTP server and send. // The connection (i.e. session) to the SMTP server remains // open so that subsequent SendEmail calls may use the // same connection. success := CkMailMan_SendEmail(mailman,email); if (success <> True) then begin Memo1.Lines.Add(CkMailMan__lastErrorText(mailman)); Exit; end; success := CkMailMan_CloseSmtpConnection(mailman); if (success <> True) then begin Memo1.Lines.Add('Connection to SMTP server not closed cleanly.'); end; Memo1.Lines.Add('Mail with attachments sent!'); CkMailMan_Dispose(mailman); CkEmail_Dispose(email); end; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.