Sample code for 30+ languages & platforms
SQL Server

Save HTML Email Embedded Images

Saves HTML embedded items to files in a subdirectory. Images, style sheets, and anything else embedded within HTML, are not considered to be attachments. Instead, these items are "related item". The Chilkat email object provides a set of methods/properties for accessing the related items within an email.

Chilkat SQL Server Downloads

SQL Server
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    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 object containing HTML with embedded images.

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

    --  Iterate over the related items.  
    --  Print the file name and save each to a file.
    DECLARE @i int
    SELECT @i = 0
    DECLARE @numRelated int
    EXEC sp_OAGetProperty @email, 'NumRelatedItems', @numRelated OUT
    WHILE @i < @numRelated
      BEGIN

        EXEC sp_OAMethod @email, 'GetRelatedFilename', @sTmp0 OUT, @i
        PRINT @sTmp0

        EXEC sp_OAMethod @email, 'SaveRelatedItem', @success OUT, @i, 'myRelatedItemsDir'
        IF @success <> 1
          BEGIN
            EXEC sp_OAGetProperty @email, 'LastErrorText', @sTmp0 OUT
            PRINT @sTmp0
            EXEC @hr = sp_OADestroy @email
            RETURN
          END
        SELECT @i = @i + 1
      END

    EXEC @hr = sp_OADestroy @email


END
GO