DataFlex
DataFlex
Send Encrypted Email with a Selected Algorithm (AES, 3DES, etc.)
Sends an encrypted email using the recipient's digital certificate from a .cer file, and chooses 3DES for the encryption algorithm. (It is also possible to send AES encrypted email w/ 128-bit, 192-bit, or 256-bit encryption simply by setting the Pkcs7CryptAlg and Pkcs7KeyLength properties.)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.mymailserver.com"
// 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 <> True) 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
// If desired, specify the encryption algorithm to be used.
// The Pkcs7CryptAlg property can be set to "aes", "des", "3des", or "rc2"
Set ComPkcs7CryptAlg Of hoEmail To "3des"
// If desired, set the key length (in bits) for the encryption algorithm:
// The possible values allowed depend on the Pkcs7CryptAlg property.
// For "aes", the key length may be 128, 192, or 256.
// For "3des" the key length must be 192.
// For "des" the key length must be 40.
// For "rc2" the key length can be 40, 56, 64, or 128.
Set ComPkcs7KeyLength Of hoEmail To 192
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