PowerShell
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
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!")
}