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
(DataFlex) Send Encrypted Email to Multiple RecipientsDemonstrates how to create and send an S/MIME encrypted email to multiple recipients. The digital certificate of each recipient is required. The encrypting/sending process uses each recipient's digital certificate (which internally contains the public key). Each recipient decrypts the received email using his/her private key.
Use ChilkatAx-win32.pkg Procedure Test Handle hoMailman Variant vCert1 Handle hoCert1 Boolean iSuccess Variant vCert2 Handle hoCert2 Variant vCert3 Handle hoCert3 Variant vEmail Handle hoEmail String sTemp1 // 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. Get Create (RefClass(cComChilkatMailMan)) To hoMailman If (Not(IsComObjectCreated(hoMailman))) Begin Send CreateComObject of hoMailman End // Set the SMTP server. Set ComSmtpHost Of hoMailman To "smtp.mymailserver.com" // Load each recipient's certificate into a Chilkat certificate object. // This example loads the certificates from files. However, the Chilkat // certificate object provides other means for loading certificates, // such as from in-memory PEM strings, or in-memory binary DER encoded form, etc. Get Create (RefClass(cComChilkatCert)) To hoCert1 If (Not(IsComObjectCreated(hoCert1))) Begin Send CreateComObject of hoCert1 End Get ComLoadFromFile Of hoCert1 "recipient1.cer" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoCert1 To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatCert)) To hoCert2 If (Not(IsComObjectCreated(hoCert2))) Begin Send CreateComObject of hoCert2 End Get ComLoadFromFile Of hoCert2 "recipient2.cer" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoCert2 To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatCert)) To hoCert3 If (Not(IsComObjectCreated(hoCert3))) Begin Send CreateComObject of hoCert3 End Get ComLoadFromFile Of hoCert3 "recipient3.cer" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoCert3 To sTemp1 Showln sTemp1 Procedure_Return End // Create a new email object Get Create (RefClass(cComChilkatEmail)) To hoEmail If (Not(IsComObjectCreated(hoEmail))) Begin Send CreateComObject of hoEmail End Set ComSubject Of hoEmail To "This email is encrypted and sent to 3 recipients" Set ComBody Of hoEmail To "This is an S/MIME encrypted mail sent to 3 recipients" Set ComFrom Of hoEmail To "Chilkat Support <support@chilkatsoft.com>" // Make each of the certificates available for encrypting the email // by calling AddEncryptCert for each. Get pvComObject of hoCert1 to vCert1 Get ComAddEncryptCert Of hoEmail vCert1 To iSuccess If (iSuccess = True) Begin Get pvComObject of hoCert2 to vCert2 Get ComAddEncryptCert Of hoEmail vCert2 To iSuccess End If (iSuccess = True) Begin Get pvComObject of hoCert3 to vCert3 Get ComAddEncryptCert Of hoEmail vCert3 To iSuccess End If (iSuccess <> True) Begin Get ComLastErrorText Of hoEmail To sTemp1 Showln sTemp1 Procedure_Return End // Add 3 recipients to the email (2 TO addresses, and 1 CC address) Get ComAddTo Of hoEmail "Recipient 1" "admin@cknotes.com" To iSuccess Get ComAddTo Of hoEmail "Recipient 2" "somebody001122@yahoo.com" To iSuccess Get ComAddCC Of hoEmail "Recipient 3" "somebody123xyz@gmail.com" To iSuccess // Indicate that the email is to be sent encrypted. Set ComSendEncrypted Of hoEmail To True // Send the encrypted email... Get pvComObject of hoEmail to vEmail Get ComSendEmail Of hoMailman vEmail To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoMailman To sTemp1 Showln sTemp1 End Else Begin Showln "Encrypted Email Sent!" End End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.