![]() |
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) POP3 FetchAll ExampleDemonstrates downloading email from a POP3 server via FetchAll (using pop3.live.com). Make sure to enable POP3 access for your HotMail account (or any other type of account if POP3 access is not enabled by default). 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 -- Connection settings for pop3.live.com (or pop-mail.outlook.com, both should work) EXEC sp_OASetProperty @mailman, 'MailHost', 'pop3.live.com' EXEC sp_OASetProperty @mailman, 'PopUsername', 'my_account@live.com' EXEC sp_OASetProperty @mailman, 'PopPassword', 'my_live.com_password' EXEC sp_OASetProperty @mailman, 'MailPort', 995 EXEC sp_OASetProperty @mailman, 'PopSsl', 1 -- WARNING: FetchAll is only a reasonable choice if it is already know that not -- to many emails are present on the server. FetchAll is a poor choice if a huge number -- of emails exist. It is better to download individually or in batches. DECLARE @bundle int EXEC @hr = sp_OACreate 'Chilkat.EmailBundle', @bundle OUT DECLARE @keepOnServer int SELECT @keepOnServer = 1 DECLARE @headersOnly int SELECT @headersOnly = 0 -- Irrelevent because we are not downloading headers-only DECLARE @numBodyLines int SELECT @numBodyLines = 0 EXEC sp_OAMethod @mailman, 'FetchAll', @success OUT, @keepOnServer, @headersOnly, @numBodyLines, @bundle IF @success = 0 BEGIN EXEC sp_OAGetProperty @mailman, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @mailman EXEC @hr = sp_OADestroy @bundle RETURN END -- Iterate over the bundle and examine each email.. DECLARE @numEmails int EXEC sp_OAGetProperty @bundle, 'MessageCount', @numEmails OUT DECLARE @i int SELECT @i = 0 DECLARE @email int EXEC @hr = sp_OACreate 'Chilkat.Email', @email OUT WHILE @i < @numEmails BEGIN EXEC sp_OAMethod @bundle, 'EmailAt', @success OUT, @i, @email EXEC sp_OAGetProperty @email, 'From', @sTmp0 OUT PRINT 'From: ' + @sTmp0 EXEC sp_OAGetProperty @email, 'Subject', @sTmp0 OUT PRINT 'Subject: ' + @sTmp0 PRINT '--' SELECT @i = @i + 1 END -- Examine the POP3 session log: EXEC sp_OAGetProperty @mailman, 'Pop3SessionLog', @sTmp0 OUT PRINT @sTmp0 -- End the POP3 session and close the connection to the POP3 server. EXEC sp_OAMethod @mailman, 'Pop3EndSession', @success OUT PRINT '-- Finished.' -- The output of this program: -- **** Connected to pop3.live.com:995 -- < +OK DUB006-POP62 POP3 server ready -- > USER chilkat@live.com -- < +OK password required -- > PASS **** -- < +OK User successfully authenticated. [AuthResult=0 Proxy=CY1PR17MB0630.namprd17.prod.outlook.com:1995:SSL] -- > STAT -- < +OK 23 914026 -- > LIST -- < +OK 23 914026 -- 1 50828 -- 2 49862 -- 3 142837 -- 4 61466 -- 5 40805 -- 6 39992 -- 7 61358 -- 8 18431 -- 9 122577 -- 10 20322 -- 11 24274 -- 12 24367 -- 13 22860 -- 14 10136 -- 15 35379 -- 16 30916 -- 17 19800 -- 18 14941 -- 19 16883 -- 20 15151 -- 21 20198 -- 22 28108 -- 23 42535 -- . -- > UIDL -- < +OK -- < +OK -- 1 2291 -- 2 2591 -- 3 3062 -- 4 3063 -- 5 3064 -- 6 3065 -- 7 3066 -- 8 3067 -- 9 3068 -- 10 3069 -- 11 3070 -- 12 3071 -- 13 3072 -- 14 3073 -- 15 3074 -- 16 3075 -- 17 3076 -- 18 3077 -- 19 3078 -- 20 3079 -- 21 3080 -- 22 3081 -- 23 3405 -- . -- > RETR 1 -- < +OK -- > RETR 2 -- < +OK -- > RETR 3 -- < +OK -- > RETR 4 -- < +OK -- > RETR 5 -- < +OK -- > RETR 6 -- < +OK -- > RETR 7 -- < +OK -- > RETR 8 -- < +OK -- > RETR 9 -- < +OK -- > RETR 10 -- < +OK -- > RETR 11 -- < +OK -- > RETR 12 -- < +OK -- > RETR 13 -- < +OK -- > RETR 14 -- < +OK -- > RETR 15 -- < +OK -- > RETR 16 -- < +OK -- > RETR 17 -- < +OK -- > RETR 18 -- < +OK -- > RETR 19 -- < +OK -- > RETR 20 -- < +OK -- > RETR 21 -- < +OK -- > RETR 22 -- < +OK -- > RETR 23 -- < +OK -- -- -- Finished. -- EXEC @hr = sp_OADestroy @mailman EXEC @hr = sp_OADestroy @bundle EXEC @hr = sp_OADestroy @email END GO |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.