SQL Server Stored Procedure Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

SQL Server
Stored Procedure Examples

Quick Start
Encryption
File Access
IMAP
POP3
SMTP
Email Object
FTP
HTML-to-XML
HTTP
MHT
MIME
RSA Encryption
Socket
Spider
String
Tar
Upload
XML
XMP
Zip

Byte Array
RSS
Atom
Self-Extractor

Select Encryption Algorithm with SMTP Encrypted Email

Demonstrates how to select the encryption algorithm and strength (key size) when sending encrypted email.

Download Chilkat Email ActiveX for POP3 / SMTP

Download Chilkat IMAP ActiveX

CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @sTmp0 nvarchar(4000)
    --  The mailman object is used for sending and receiving email.
    DECLARE @mailman int
    EXEC @hr = sp_OACreate 'Chilkat.MailMan2', @mailman OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    --  Any string argument automatically begins the 30-day trial.
    DECLARE @success int

    EXEC sp_OAMethod @mailman, 'UnlockComponent', @success OUT, '30-day trial'
    IF @success <> 1
      BEGIN
        PRINT 'Component unlock failed'
        RETURN
      END

    --  Set the SMTP server.
    EXEC sp_OASetProperty @mailman, 'SmtpHost', 'smtp.comcast.net'

    --  Create a new email object
    DECLARE @email int
    EXEC @hr = sp_OACreate 'Chilkat.Email2', @email OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    EXEC sp_OASetProperty @email, 'Subject', 'This email is encrypted'
    EXEC sp_OASetProperty @email, 'Body', 'This is a digitally encrypted mail'
    EXEC sp_OASetProperty @email, 'From', 'Chilkat Support <support@chilkatsoft.com>'
    EXEC sp_OAMethod @email, 'AddTo', NULL, 'Chilkat Admin', 'admin@chilkatsoft.com'

    --  In this example, we've already installed the certificate for "admin@chilkatsoft.com"
    --  in the current user's personal certificate store.
    --  If the email.SendEncrypted property is set, Chilkat will
    --  automatically search for and use the first non-expired certificate
    --  matching the recipient's email address.  Chilkat searches
    --  the Current User's Personal certificate store, as well
    --  as the Local Machine's Personal certificate store.
    --  Run certmgr.msc to view the certs in the Current User's
    --  certificate store.
    EXEC sp_OASetProperty @email, 'SendEncrypted', 1

    --  Use the CSP object to select an encryption algorithm:
    DECLARE @csp int
    EXEC @hr = sp_OACreate 'Chilkat.Csp', @csp OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    --  Make sure we're using the enhanced provider, which provides
    --  access to stronger algorithms.
    EXEC sp_OAMethod @csp, 'SetProviderMicrosoftEnhanced', NULL

    --  Select 168-bit 3DES (i.e. 192-bit DES if you include the parity bits)
    EXEC sp_OAMethod @csp, 'SetEncryptAlgorithm', NULL, '3DES'

    --  Tell the email to use this CSP:
    EXEC sp_OAMethod @email, 'SetCSP', NULL, @csp

    EXEC sp_OAMethod @mailman, 'SendEmail', @success OUT, @email
    IF @success <> 1
      BEGIN
        EXEC sp_OAGetProperty @mailman, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
      END
    ELSE
      BEGIN
        --  Examine the LastErrorText anyway, so we can see
        --  that 3DES was used...
        --  You should see these lines in the log:
        --  alg_name: 3DES
        --  alg_bits: 168
        EXEC sp_OAGetProperty @mailman, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
      END


END
GO

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2007 Chilkat Software, Inc. All Rights Reserved.