SQL Server
SQL Server
Check if an Email Was Received Encrypted
See more Email Object Examples
Demonstrates the read-only Chilkat Email.ReceivedEncrypted property, which is true if the email was originally received with encryption. This records how the message arrived and remains useful even after successful automatic decryption, when the visible body is already the decrypted content. This example loads an email and reports whether it was received encrypted.
Background: When Chilkat loads an encrypted (S/MIME) email and has the recipient's private key available, it decrypts the content automatically — so the body you read is already in the clear. That convenience creates a question: was this message originally protected in transit?
ReceivedEncrypted answers it, letting you distinguish a message that was genuinely encrypted end-to-end from one that was sent as plain text. Pair it with Decrypted to confirm decryption actually succeeded.Chilkat SQL Server Downloads
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
DECLARE @iTmp0 int
DECLARE @sTmp0 nvarchar(4000)
DECLARE @success int
SELECT @success = 0
-- Demonstrates the read-only Email.ReceivedEncrypted property, which is true if
-- this email was originally received with encryption. It remains meaningful even
-- after Chilkat automatically decrypts the message.
DECLARE @email int
EXEC @hr = sp_OACreate 'Chilkat.Email', @email OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
EXEC sp_OAMethod @email, 'LoadEml', @success OUT, 'qa_data/eml/received.eml'
IF @success = 0
BEGIN
EXEC sp_OAGetProperty @email, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @email
RETURN
END
EXEC sp_OAGetProperty @email, 'ReceivedEncrypted', @iTmp0 OUT
IF @iTmp0 = 1
BEGIN
PRINT 'This email was originally received encrypted.'
END
ELSE
BEGIN
PRINT 'This email was not received encrypted.'
END
-- Note: Paths such as "qa_data/..." are relative local filesystem paths,
-- relative to the current working directory of the running application.
EXEC @hr = sp_OADestroy @email
END
GO