Sample code for 30+ languages & platforms
SQL Server

Get the Nth Text Part of a Given Content-Type

See more Email Object Examples

Demonstrates the Chilkat Email.GetNthTextPartOfType method, which returns the text content of the Nth non-multipart MIME part matching a Content-Type pattern. The arguments are a zero-based index among the matching parts, the content-type pattern, an inlineOnly flag, and an excludeAttachments flag. This example retrieves the first text/html part.

Background: A MIME message is a tree of parts, and sometimes you want a specific one by its type rather than by walking alternatives or bodies. The content-type pattern can be exact (text/html) or a wildcard (text/*), and the two boolean flags narrow the search — inlineOnly restricts to inline (displayed) parts, and excludeAttachments skips parts marked as attachments — so you can target exactly the text you care about.

Chilkat SQL Server Downloads

SQL Server
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    --  Demonstrates the GetNthTextPartOfType method, which returns the text content of the Nth
    --  non-multipart MIME part matching a Content-Type pattern.  The first argument is the zero-based
    --  index among matching parts, the second is the Content-Type pattern, the third is inlineOnly, and the fourth is
    --  excludeAttachments.

    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', 'GetNthTextPartOfType example'

    EXEC sp_OAMethod @email, 'SetTextBody', NULL, 'This is the plain-text version.', 'text/plain'
    DECLARE @success int
    EXEC sp_OAMethod @email, 'AddHtmlAlternativeBody', @success OUT, '<html><body>This is the HTML version.</body></html>'

    --  Get the first (index 0) part whose content type matches text/html.
    DECLARE @htmlPart nvarchar(4000)
    EXEC sp_OAMethod @email, 'GetNthTextPartOfType', @htmlPart OUT, 0, 'text/html', 0, 0

    PRINT 'First text/html part:'

    PRINT @htmlPart

    EXEC @hr = sp_OADestroy @email


END
GO