Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
IMAP Download All Email One at a TimeDemonstrates how to download every email in an IMAP mailbox one at a time as a MIME string or as an email object. (The MIME contains the full contents of the email including all attachments.) 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.chilkatsoft.com' IF @success <> 1 BEGIN EXEC sp_OAGetProperty @imap, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 RETURN END -- Login EXEC sp_OAMethod @imap, 'Login', @success OUT, 'myLogin', 'myPassword' 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 -- Once the mailbox is selected, the NumMessages property -- will contain the number of messages in the mailbox. -- You may loop from 1 to NumMessages to -- fetch each message by sequence number. DECLARE @bUid int SELECT @bUid = 0 DECLARE @mimeStr nvarchar(4000) DECLARE @i int DECLARE @n int EXEC sp_OAGetProperty @imap, 'NumMessages', @n OUT SELECT @i = 1 WHILE @i <= @n BEGIN -- Download the email by sequence number. EXEC sp_OAMethod @imap, 'FetchSingleAsMime', @mimeStr OUT, @i, @bUid -- ... your application may process each MIME string... SELECT @i = @i + 1 END -- An alternative is to download each email in the form of an -- email object, like this: DECLARE @email int SELECT @i = 1 WHILE @i <= @n BEGIN -- Download the email by sequence number. EXEC sp_OAMethod @imap, 'FetchSingle', @email OUT, @i, @bUid -- ... your application may process the email object... SELECT @i = @i + 1 END -- Disconnect from the IMAP server. EXEC sp_OAMethod @imap, 'Disconnect', NULL END GO |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.