SQL Server Stored Procedure Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

SQL Server
Stored Procedure Examples

Quick Start
Encryption
File Access
IMAP
POP3
SMTP
Email Object
DKIM / DomainKey
FTP
HTML Conversion
HTTP
MHT
MIME
NTLM
RSA
Diffie-Hellman
DSA
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
String
Tar
Upload
XML
XMP
Zip

Amazon S3
Bz2
CSV
FileAccess
Byte Array
RSS
Atom
Self-Extractor

Fetch Oldest/Newest IMAP Email

Emails may be downloaded by sequence number. Assuming the selected mailbox is not empty, the oldest email is at sequence number 1, and the newest email is at sequence number N. The FetchSingle method may be used to download by sequence number.

Download 32-bit Chilkat IMAP ActiveX (.msi)

Download All 32-bit Chilkat ActiveX Components (.zip)

Download All 64-bit Chilkat ActiveX Components (.zip)

CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @sTmp0 nvarchar(4000)
    DECLARE @imap int
    EXEC @hr = sp_OACreate 'Chilkat.Imap', @imap OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    DECLARE @success int

    --  Anything unlocks the component and begins a fully-functional 30-day trial.
    EXEC sp_OAMethod @imap, 'UnlockComponent', @success OUT, 'Anything for 30-day trial'
    IF @success <> 1
      BEGIN
        EXEC sp_OAGetProperty @imap, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        RETURN
      END

    --  Connect to an IMAP server.
    EXEC sp_OAMethod @imap, 'Connect', @success OUT, 'mail.testemail.net'
    IF @success <> 1
      BEGIN
        EXEC sp_OAGetProperty @imap, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        RETURN
      END

    --  Login
    EXEC sp_OAMethod @imap, 'Login', @success OUT, '***', '***'
    IF @success <> 1
      BEGIN
        EXEC sp_OAGetProperty @imap, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        RETURN
      END

    --  Select an IMAP mailbox
    EXEC sp_OAMethod @imap, 'SelectMailbox', @success OUT, 'Inbox'
    IF @success <> 1
      BEGIN
        EXEC sp_OAGetProperty @imap, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        RETURN
      END

    --  After selecting a mailbox, the NumMessages property
    --  contains the number of emails in the selected mailbox.
    DECLARE @n int

    EXEC sp_OAGetProperty @imap, 'NumMessages', @n OUT

    IF @n > 0
      BEGIN

        --  The oldest email is always at sequence number 1.
        DECLARE @isUid int

        SELECT @isUid = 0

        DECLARE @oldestEmail int

        EXEC sp_OAMethod @imap, 'FetchSingle', @oldestEmail OUT, 1, @isUid
        IF Not (@oldestEmail Is NULL )
          BEGIN

            --  Display the From and Subject
            EXEC sp_OAGetProperty @oldestEmail, 'FromAddress', @sTmp0 OUT

            PRINT @sTmp0
            EXEC sp_OAGetProperty @oldestEmail, 'Subject', @sTmp0 OUT

            PRINT @sTmp0


            PRINT '--'

          END

        --  The newest email is at sequence number N:
        DECLARE @newestEmail int

        EXEC sp_OAMethod @imap, 'FetchSingle', @newestEmail OUT, @n, @isUid
        IF Not (@newestEmail Is NULL )
          BEGIN

            --  Display the From and Subject
            EXEC sp_OAGetProperty @newestEmail, 'FromAddress', @sTmp0 OUT

            PRINT @sTmp0
            EXEC sp_OAGetProperty @newestEmail, 'Subject', @sTmp0 OUT

            PRINT @sTmp0

          END

      END

    --  Disconnect from the IMAP server.
    EXEC sp_OAMethod @imap, 'Disconnect', NULL
END
GO

 

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