DataFlex
DataFlex
Find Certificate for Email Encryption
Demonstrates finding the recipient's certificate in the Windows certificate store and using it to send encrypted email.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoMailman
Variant vEmail
Handle hoEmail
String sRecipientEmailAddr
Variant vCert
Handle hoCert
String sTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
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.example.com"
// 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"
Set ComBody Of hoEmail To "This is a digitally encrypted mail"
Set ComFrom Of hoEmail To "Joe <joe@example.com>"
// Emails are encrypted using the recipient's certificate.
Move "jane@example2.com" To sRecipientEmailAddr
Get ComAddTo Of hoEmail "Jane" sRecipientEmailAddr To iSuccess
// Indicate that the email is to be sent encrypted.
Set ComSendEncrypted Of hoEmail To True
// This example demonstrates finding the email encryption certificate
// on a Windows system where the certificate is stored in the Windows
// certificate store.
Get Create (RefClass(cComChilkatCert)) To hoCert
If (Not(IsComObjectCreated(hoCert))) Begin
Send CreateComObject of hoCert
End
// The recipient's certificate is used to encrypt.
// (Because the recipient is the only one in possession of the private key to decrypt.)
Get ComLoadByEmailAddress Of hoCert sRecipientEmailAddr To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoCert To sTemp1
Showln sTemp1
Procedure_Return
End
// Specify the certificate to be used for encryption.
Get pvComObject of hoCert to vCert
Get ComSetEncryptCert Of hoEmail vCert To iSuccess
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 Mail Sent!"
End
End_Procedure