Sample code for 30+ languages & platforms
Lianja

Find Certificate for Email Encryption

Demonstrates finding the recipient's certificate in the Windows certificate store and using it to send encrypted email.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

loMailman = createobject("CkMailMan")

// Set the SMTP server.
loMailman.SmtpHost = "smtp.example.com"

// Create a new email object
loEmail = createobject("CkEmail")

loEmail.Subject = "This email is encrypted"
loEmail.Body = "This is a digitally encrypted mail"
loEmail.From = "Joe <joe@example.com>"
// Emails are encrypted using the recipient's certificate.
lcRecipientEmailAddr = "jane@example2.com"
loEmail.AddTo("Jane",lcRecipientEmailAddr)

// Indicate that the email is to be sent encrypted.
loEmail.SendEncrypted = .T.

// This example demonstrates finding the email encryption certificate
// on a Windows system where the certificate is stored in the Windows 
// certificate store.

loCert = createobject("CkCert")
// The recipient's certificate is used to encrypt.
// (Because the recipient is the only one in possession of the private key to decrypt.)
llSuccess = loCert.LoadByEmailAddress(lcRecipientEmailAddr)
if (llSuccess <> .T.) then
    ? loCert.LastErrorText
    release loMailman
    release loEmail
    release loCert
    return
endif

// Specify the certificate to be used for encryption.
llSuccess = loEmail.SetEncryptCert(loCert)

llSuccess = loMailman.SendEmail(loEmail)
if (llSuccess <> .T.) then
    ? loMailman.LastErrorText
else
    ? "Encrypted Mail Sent!"
endif



release loMailman
release loEmail
release loCert