Sample code for 30+ languages & platforms
SQL Server

GetEntireHead and GetEntireBody

See more MIME Examples

Demonstrates the GetEntireHead and GetEntireBody methods. The MIME data file used in this example is available at MIME Sample File.

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
    -- 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 @mime int
    EXEC @hr = sp_OACreate 'Chilkat.Mime', @mime OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    -- The contents of this MIME file are shown below, 
    -- and is also available at https://www.chilkatsoft.com/sampleMime.txt
    EXEC sp_OAMethod @mime, 'LoadMimeFile', @success OUT, 'qa_data/mime/sampleMime.txt'
    IF @success = 0
      BEGIN
        EXEC sp_OAGetProperty @mime, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @mime
        RETURN
      END

    -- The MIME used in this example has the following nested structure
    -- 
    -- multipart/alternative
    --     text/plain
    --     multipart/related
    --         text/html
    --         image/jpeg
    -- 

    -- Let's get the entire MIME header for the multipart/html MIME part.

    DECLARE @mpRelated int
    EXEC @hr = sp_OACreate 'Chilkat.Mime', @mpRelated OUT

    EXEC sp_OAMethod @mime, 'PartAt', @success OUT, 1, @mpRelated
    IF @success = 0
      BEGIN
        EXEC sp_OAGetProperty @mime, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @mime
        EXEC @hr = sp_OADestroy @mpRelated
        RETURN
      END

    DECLARE @pHtml int
    EXEC @hr = sp_OACreate 'Chilkat.Mime', @pHtml OUT

    EXEC sp_OAMethod @mpRelated, 'PartAt', @success OUT, 0, @pHtml
    IF @success = 0
      BEGIN
        EXEC sp_OAGetProperty @mpRelated, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @mime
        EXEC @hr = sp_OADestroy @mpRelated
        EXEC @hr = sp_OADestroy @pHtml
        RETURN
      END

    EXEC sp_OAMethod @pHtml, 'GetEntireHead', @sTmp0 OUT
    PRINT @sTmp0

    PRINT '****'

    -- The output is:
    --     Content-Type: text/html; charset="utf-8"
    --     Content-Transfer-Encoding: 8bit

    -- Now get the entire body of the mulitpart/related subpart.
    -- The entire body is the entire MIME body including sub-parts under the given part.
    EXEC sp_OAMethod @mpRelated, 'GetEntireBody', @sTmp0 OUT
    PRINT @sTmp0

    -- The entire multipart/related body is:
    -- 
    -- 	--------------A940F1230E6F0105F03DB2CB
    -- 	Content-Type: text/html; charset=utf-8
    -- 	Content-Transfer-Encoding: 8bit
    -- 
    -- 	<html><head>
    -- 	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -- 	  </head>
    -- 	  <body bgcolor="#FFFFFF" text="#000000">
    -- 	    <p>This is a test.&nbsp; <img src="cid:part1.E16AE3B4.1505C436@chilkatsoft.com" height="20" width="20"></p>
    -- 	  </body>
    -- 	</html>
    -- 
    -- 	--------------A940F1230E6F0105F03DB2CB
    -- 	Content-Type: image/jpeg; name="starfish20.jpg"
    -- 	Content-Transfer-Encoding: base64
    -- 	Content-ID: <part1.E16AE3B4.1505C436@chilkatsoft.com>
    -- 	Content-Disposition: inline; filename="starfish20.jpg"
    -- 
    -- 	/9j/4AAQSkZJRgABAQEASABIAAD//gAmRmlsZSB3cml0dGVuIGJ5IEFkb2JlIFBob3Rvc2hvcD8g
    -- 	...
    -- 	...
    -- 	EFH/2gAIAQEAAT8Qn3igmSZSj+c4N4zapMy9IjFV98wncN2iuLFsCEbDGxQkI6RO/n//2Q==
    -- 
    -- 	--------------A940F1230E6F0105F03DB2CB--
    -- 

    -- --------------------------------------------------------------
    -- --------------------------------------------------------------
    -- The MIME sample file loaded at the beginning of this example
    -- contains the following MIME:

    -- Subject: Test email.
    -- Content-Type: multipart/alternative;
    -- 	boundary="------------DB171738719FB06D67DEBAA0"
    -- MIME-Version: 1.0
    -- 
    -- --------------DB171738719FB06D67DEBAA0
    -- Content-Type: text/plain; charset="utf-8"; format=flowed
    -- Content-Transfer-Encoding: 7bit
    -- 
    -- This is a test.
    -- 
    -- --------------DB171738719FB06D67DEBAA0
    -- Content-Type: multipart/related;
    -- 	boundary="------------A940F1230E6F0105F03DB2CB"
    -- 
    -- --------------A940F1230E6F0105F03DB2CB
    -- Content-Type: text/html; charset="utf-8"
    -- Content-Transfer-Encoding: 8bit
    -- 
    -- <html><head>
    -- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    --   </head>
    --   <body bgcolor="#FFFFFF" text="#000000">
    --     <p>This is a test.&nbsp; <img src="cid:part1.E16AE3B4.1505C436@chilkatsoft.com" height="20" width="20"></p>
    --   </body>
    -- </html>
    -- 
    -- --------------A940F1230E6F0105F03DB2CB
    -- Content-Type: image/jpeg; name="starfish20.jpg"
    -- Content-Transfer-Encoding: base64
    -- Content-ID: <part1.E16AE3B4.1505C436@chilkatsoft.com>
    -- Content-Disposition: inline; filename="starfish20.jpg"
    -- 
    -- /9j/4AAQSkZJRgABAQEASABIAAD//gAmRmlsZSB3cml0dGVuIGJ5IEFkb2JlIFBob3Rvc2hvcD8g
    -- NC4w/9sAQwAQCwwODAoQDg0OEhEQExgoGhgWFhgxIyUdKDozPTw5Mzg3QEhcTkBEV0U3OFBtUVdf
    -- YmdoZz5NcXlwZHhcZWdj/9sAQwEREhIYFRgvGhovY0I4QmNjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj
    -- Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj/8IAEQgAFAAUAwERAAIRAQMRAf/EABcAAAMBAAAA
    -- AAAAAAAAAAAAAAIDBAX/xAAYAQADAQEAAAAAAAAAAAAAAAABAgMEAP/aAAwDAQACEAMQAAAB2kZY
    -- NNEijWKddfTmLgALWH//xAAbEAACAgMBAAAAAAAAAAAAAAABAgMRAAQSE//aAAgBAQABBQL0XqN+
    -- pM2aqJGMiqFFCyg7z//EABwRAAICAgMAAAAAAAAAAAAAAAERAAIQIQMSUf/aAAgBAwEBPwHqU5aq
    -- Axx+y1tMQl4elj//xAAcEQEAAQUBAQAAAAAAAAAAAAABEQACEBIhA1H/2gAIAQIBAT8B3Bhqy7Zc
    -- enyiwmGgDhiOzj//xAAdEAABAwUBAAAAAAAAAAAAAAABAAIREBIhIkFR/9oACAEBAAY/ArZyn+Cg
    -- xtxWuJaoCnqDuin/xAAcEAABBAMBAAAAAAAAAAAAAAABABEhYRAxQVH/2gAIAQEAAT8hkEwPUUR9
    -- DYfE4nxtRpIkBTsayuALIiuY/9oADAMBAAIAAwAAABDWPTsf/8QAGhEAAwADAQAAAAAAAAAAAAAA
    -- AAEREDFBIf/aAAgBAwEBPxC0DVPcWm+Ce4OesrkE6bjH/8QAGBEBAQEBAQAAAAAAAAAAAAAAAREA
    -- QRD/2gAIAQIBAT8QahMiOc8YgSrnTY3ELclHXn//xAAcEAEBAAIDAQEAAAAAAAAAAAABEQAhMUFx
    -- EFH/2gAIAQEAAT8Qn3igmSZSj+c4N4zapMy9IjFV98wncN2iuLFsCEbDGxQkI6RO/n//2Q==
    -- 
    -- --------------A940F1230E6F0105F03DB2CB--
    -- 
    -- --------------DB171738719FB06D67DEBAA0--
    -- 

    EXEC @hr = sp_OADestroy @mime
    EXEC @hr = sp_OADestroy @mpRelated
    EXEC @hr = sp_OADestroy @pHtml


END
GO