![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) Retrieve UIDL's from POP3 ServerRetrieve a list of UIDLs from a POP3 server. UIDLs are unique identifiers, 1 to 70 characters long, composed of characters ranging from 0x21 to 0x7E. These identifiers uniquely distinguish messages within a mailbox and remain consistent across sessions. Note: This example requires Chilkat v11.0.0 or greater.
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) DECLARE @success int SELECT @success = 0 -- This example requires the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. DECLARE @mailman int EXEC @hr = sp_OACreate 'Chilkat.MailMan', @mailman OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END EXEC sp_OASetProperty @mailman, 'MailHost', 'pop.example.com' EXEC sp_OASetProperty @mailman, 'PopUsername', 'myLogin' EXEC sp_OASetProperty @mailman, 'PopPassword', 'myPassword' EXEC sp_OASetProperty @mailman, 'MailPort', 995 EXEC sp_OASetProperty @mailman, 'PopSsl', 1 DECLARE @stUidls int EXEC @hr = sp_OACreate 'Chilkat.StringTable', @stUidls OUT EXEC sp_OAMethod @mailman, 'FetchUidls', @success OUT, @stUidls IF @success = 0 BEGIN EXEC sp_OAGetProperty @mailman, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @mailman EXEC @hr = sp_OADestroy @stUidls RETURN END -- Download each email by UIDL. DECLARE @email int EXEC @hr = sp_OACreate 'Chilkat.Email', @email OUT DECLARE @count int EXEC sp_OAGetProperty @stUidls, 'Count', @count OUT DECLARE @i int SELECT @i = 0 WHILE @i < @count BEGIN -- Download the full email. DECLARE @uidl nvarchar(4000) EXEC sp_OAMethod @stUidls, 'StringAt', @uidl OUT, @i EXEC sp_OAMethod @mailman, 'FetchByUidl', @success OUT, @uidl, 0, 0, @email IF @success = 0 BEGIN EXEC sp_OAGetProperty @mailman, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @mailman EXEC @hr = sp_OADestroy @stUidls EXEC @hr = sp_OADestroy @email RETURN END PRINT @i PRINT 'UIDL: ' + @uidl EXEC sp_OAGetProperty @email, 'From', @sTmp0 OUT PRINT 'From: ' + @sTmp0 EXEC sp_OAGetProperty @email, 'Subject', @sTmp0 OUT PRINT 'Subject: ' + @sTmp0 SELECT @i = @i + 1 END EXEC sp_OAMethod @mailman, 'Pop3EndSession', @success OUT EXEC @hr = sp_OADestroy @mailman EXEC @hr = sp_OADestroy @stUidls EXEC @hr = sp_OADestroy @email END GO |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.