DataFlex
DataFlex
Sending S/MIME Encrypted Email
Sends an encrypted email using the recipient's digital certificate from a .cer file.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoMailman
Variant vCert
Handle hoCert
Variant vEmail
Handle hoEmail
String sTemp1
Move False To iSuccess
// 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.comcast.net"
// Load the .cer file into a certificate object.
// When sending S/MIME encrypted email, it is the recipient's
// certificate that is used for encryption. Only the public key
// is needed to encrypt. The recipient is the only
// one possessing the private key, and therefore is the only
// one able to decrypt.
Get Create (RefClass(cComChilkatCert)) To hoCert
If (Not(IsComObjectCreated(hoCert))) Begin
Send CreateComObject of hoCert
End
Get ComLoadFromFile Of hoCert "cknotes.cer" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoCert 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"
Set ComBody Of hoEmail To "This is a digitally encrypted mail"
Set ComFrom Of hoEmail To "Chilkat Support <support@chilkatsoft.com>"
Get ComAddTo Of hoEmail "Chilkat Blog" "admin@cknotes.com" To iSuccess
// Indicate that the email is to be sent encrypted.
Set ComSendEncrypted Of hoEmail To True
// 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 "Mail Sent!"
End
End_Procedure