Sample code for 30+ languages & platforms
SQL Server

Get the IMAP UID of an Email

See more Email Object Examples

Demonstrates the Chilkat Email.GetImapUid method. When email headers are downloaded from an IMAP server using Chilkat IMAP, a ckx-imap-uid header field is added to the email, and GetImapUid returns its value. This example sets that header directly to illustrate how the method reads it.

Background: IMAP assigns each message in a mailbox a UID — a stable numeric identifier used to fetch, flag, move, or delete that specific message. Chilkat records it in the ckx-imap-uid header so it stays attached to the downloaded Email object. This is the IMAP counterpart to POP3's UIDL (see the Uidl property), letting an application correlate a local message back to its position on the server.

Chilkat SQL Server Downloads

SQL Server
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @iTmp0 int
    --  Demonstrates the GetImapUid method.  When an email is downloaded from an IMAP server
    --  (using Chilkat IMAP), a ckx-imap-uid header field is added, and GetImapUid returns its
    --  value.  Here we set the header directly to show how the method reads it.

    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_OASetProperty @email, 'Subject', 'GetImapUid example'

    --  Normally the IMAP download sets this header; we set it here for demonstration.
    EXEC sp_OAMethod @email, 'AddHeaderField', NULL, 'ckx-imap-uid', '482'


    EXEC sp_OAMethod @email, 'GetImapUid', @iTmp0 OUT
    PRINT 'IMAP UID = ' + @iTmp0

    EXEC @hr = sp_OADestroy @email


END
GO