Sample code for 30+ languages & platforms
PowerShell

Find Certificate for Email Encryption

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

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

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

$mailman = New-Object Chilkat.MailMan

# Set the SMTP server.
$mailman.SmtpHost = "smtp.example.com"

# Create a new email object
$email = New-Object Chilkat.Email

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

# Indicate that the email is to be sent encrypted.
$email.SendEncrypted = $true

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

$cert = New-Object Chilkat.Cert
# The recipient's certificate is used to encrypt.
# (Because the recipient is the only one in possession of the private key to decrypt.)
$success = $cert.LoadByEmailAddress($recipientEmailAddr)
if ($success -ne $true) {
    $($cert.LastErrorText)
    exit
}

# Specify the certificate to be used for encryption.
$success = $email.SetEncryptCert($cert)

$success = $mailman.SendEmail($email)
if ($success -ne $true) {
    $($mailman.LastErrorText)
}
else {
    $("Encrypted Mail Sent!")
}