Tcl
Tcl
Find Certificate for Email Encryption
Demonstrates finding the recipient's certificate in the Windows certificate store and using it to send encrypted email.Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set mailman [new_CkMailMan]
# Set the SMTP server.
CkMailMan_put_SmtpHost $mailman "smtp.example.com"
# Create a new email object
set email [new_CkEmail]
CkEmail_put_Subject $email "This email is encrypted"
CkEmail_put_Body $email "This is a digitally encrypted mail"
CkEmail_put_From $email "Joe <joe@example.com>"
# Emails are encrypted using the recipient's certificate.
set recipientEmailAddr "jane@example2.com"
CkEmail_AddTo $email "Jane" $recipientEmailAddr
# Indicate that the email is to be sent encrypted.
CkEmail_put_SendEncrypted $email 1
# This example demonstrates finding the email encryption certificate
# on a Windows system where the certificate is stored in the Windows
# certificate store.
set cert [new_CkCert]
# The recipient's certificate is used to encrypt.
# (Because the recipient is the only one in possession of the private key to decrypt.)
set success [CkCert_LoadByEmailAddress $cert $recipientEmailAddr]
if {$success != 1} then {
puts [CkCert_lastErrorText $cert]
delete_CkMailMan $mailman
delete_CkEmail $email
delete_CkCert $cert
exit
}
# Specify the certificate to be used for encryption.
set success [CkEmail_SetEncryptCert $email $cert]
set success [CkMailMan_SendEmail $mailman $email]
if {$success != 1} then {
puts [CkMailMan_lastErrorText $mailman]
} else {
puts "Encrypted Mail Sent!"
}
delete_CkMailMan $mailman
delete_CkEmail $email
delete_CkCert $cert