Sample code for 30+ languages & platforms
SQL Server

Get a Header Field from an Alternative Body

See more Email Object Examples

Demonstrates the Chilkat Email.GetAltHeaderField method, which returns the value of a header field within the Nth alternative body's MIME sub-part. The first argument is the zero-based alternative index; the second is the header field name. This example builds a message with plain-text and HTML alternatives and reads the Content-Type of the first alternative.

Background: A multipart/alternative message is a tree: each alternative body is its own MIME sub-part with its own little header block (Content-Type, Content-Transfer-Encoding, etc.). The top-level Email header methods read the message headers, whereas GetAltHeaderField reaches into a specific alternative's sub-part — useful for inspecting exactly how each representation is typed and encoded.

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 GetAltHeaderField method, which returns the value of a header field
    --  within the Nth alternative body's MIME sub-part.  The 1st argument is the zero-based
    --  alternative index; the 2nd is the header field name.

    DECLARE @email int
    EXEC @hr = sp_OACreate 'Chilkat.Email', @email OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    --  Create an email with plain-text and HTML alternatives.
    EXEC sp_OAMethod @email, 'SetTextBody', NULL, 'This is the plain-text alternative.', 'text/plain'
    DECLARE @success int
    EXEC sp_OAMethod @email, 'AddHtmlAlternativeBody', @success OUT, '<html><body>This is the HTML alternative.</body></html>'

    --  Get the Content-Type header of the first alternative body (index 0).
    DECLARE @ct nvarchar(4000)
    EXEC sp_OAMethod @email, 'GetAltHeaderField', @ct OUT, 0, 'Content-Type'

    PRINT 'Alternative 0 Content-Type: ' + @ct

    EXEC @hr = sp_OADestroy @email


END
GO