Sample code for 30+ languages & platforms
SQL Server

Get the POP3 UIDL of an Email

See more Email Object Examples

Demonstrates the read-only Chilkat Email.Uidl property, which contains the unique message identifier assigned by a POP3 server; the value is also represented by the X-UIDL header field. This example sets X-UIDL directly to illustrate how it maps to the Uidl property (normally the value comes from the POP3 server during download).

Background: A UIDL ("unique ID listing") is POP3's stable identifier for a message in a mailbox — it stays the same across sessions, so a client can remember which messages it has already downloaded and avoid fetching them again. Note this is POP3-specific: IMAP uses its own UID instead, which Chilkat stores in the ckx-imap-uid header rather than in Uidl.

Chilkat SQL Server Downloads

SQL Server
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @sTmp0 nvarchar(4000)
    --  Demonstrates the read-only Email.Uidl property, which contains the unique message
    --  identifier assigned by a POP3 server.  The value is represented by the X-UIDL header
    --  field.  Here we set X-UIDL directly to show how it maps to the Uidl property.

    DECLARE @email int
    EXEC @hr = sp_OACreate 'Chilkat.Email', @email OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    --  Normally the POP3 server assigns this; we set it here for demonstration.
    EXEC sp_OAMethod @email, 'AddHeaderField', NULL, 'X-UIDL', '0000000123abcdef'


    EXEC sp_OAGetProperty @email, 'Uidl', @sTmp0 OUT
    PRINT 'Uidl = ' + @sTmp0

    EXEC @hr = sp_OADestroy @email


END
GO