Sample code for 30+ languages & platforms
SQL Server

Get the Content-Type of the Nth Matching Part

See more Email Object Examples

Demonstrates the Chilkat Email.GetNthContentType method, which returns the Content-Type of the Nth non-multipart MIME part matching a content-type pattern. The first argument is the zero-based index among the matching parts, the second is the pattern (exact or wildcard), the third is an inlineOnly flag, and the fourth is an excludeAttachments flag. This example reads the content type of the first text/* part.

Background: Where GetNthTextPartOfType returns a matching part's content, GetNthContentType returns its exact type. A wildcard pattern like text/* can match several parts (say text/plain and text/html), so pairing this with GetNumPartsOfType lets you enumerate the parts and learn precisely what each one is before fetching it.

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 GetNthContentType method, which returns the Content-Type 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 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', 'GetNthContentType 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 content type of the first (index 0) part matching text/*.
    DECLARE @ct nvarchar(4000)
    EXEC sp_OAMethod @email, 'GetNthContentType', @ct OUT, 0, 'text/*', 0, 0

    PRINT 'First text/* part content type: ' + @ct

    EXEC @hr = sp_OADestroy @email


END
GO