Chilkat2-Python
Chilkat2-Python
POP3 Verify Signed (S/MIME) Email
Demonstrates how to download and verify digitally signed S/MIME email.Chilkat Chilkat2-Python Downloads
import sys
import chilkat2
success = False
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
mailman = chilkat2.MailMan()
# Set the POP3 server's hostname
mailman.MailHost = "pop.example.com"
# Set the POP3 login/password.
mailman.PopUsername = "myLogin"
mailman.PopPassword = "myPassword"
stUidls = chilkat2.StringTable()
success = mailman.FetchUidls(stUidls)
if (success == False):
print(mailman.LastErrorText)
sys.exit()
email = chilkat2.Email()
cert = chilkat2.Cert()
count = stUidls.Count
i = 0
while i < count :
# Download the full email.
success = mailman.FetchByUidl(stUidls.StringAt(i),False,0,email)
if (success == False):
print(mailman.LastErrorText)
sys.exit()
print(str(i))
print("From: " + email.From)
print("Subject: " + email.Subject)
# The security layers of signed and/or encrypted emails
# are automatically "unwrapped" when loaded into
# a Chilkat email object.
# An application only needs to check to see if an email
# was received signed or encrypted, and then examine
# the success/failure. For example:
if (email.ReceivedSigned == True):
print("This email was signed.")
# Check to see if the signatures were verified.
if (email.SignaturesValid == True):
print("Digital signature(s) verified.")
print("Signer: " + email.SignedBy)
success = email.LastSignerCert(0,cert)
if (success == False):
print(email.LastErrorText)
sys.exit()
print("Signing cert: " + cert.SubjectCN)
else:
print("Digital signature verification failed.")
i = i + 1
mailman.Pop3EndSession()