Sample code for 30+ languages & platforms
SQL Server

Email Body - Plain Text and/or HTML

Any given email may have a plain-text body, an HTML body, or both. The Body property will return the HTML body by default (if it exists) otherwise it will return the plain-text body. There are methods for checking to see if an email has a particular body (HasPlainTextBody and HasHtmlBody) and there are methods for getting a specific body: GetHtmlBody, GetPlainTextBody.

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

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

    -- Load an email from a .eml

    EXEC sp_OAMethod @email, 'LoadEml', @success OUT, 'something.eml'
    IF @success <> 1
      BEGIN
        EXEC sp_OAGetProperty @email, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @email
        RETURN
      END

    -- Display the default Body:
    EXEC sp_OAGetProperty @email, 'Body', @sTmp0 OUT
    PRINT @sTmp0

    -- If a plain-text body is present, display it:
    DECLARE @bText int

    EXEC sp_OAMethod @email, 'HasPlainTextBody', @bText OUT
    IF @bText = 1
      BEGIN
        EXEC sp_OAMethod @email, 'GetPlainTextBody', @sTmp0 OUT
        PRINT @sTmp0
      END

    -- If an HTML body is present, display the HTML source:
    DECLARE @bHtml int

    EXEC sp_OAMethod @email, 'HasHtmlBody', @bHtml OUT
    IF @bHtml = 1
      BEGIN
        EXEC sp_OAMethod @email, 'GetHtmlBody', @sTmp0 OUT
        PRINT @sTmp0
      END

    EXEC @hr = sp_OADestroy @email


END
GO