Sample code for 30+ languages & platforms
SQL Server

Add a String Attachment with a Specified Charset

See more Email Object Examples

Demonstrates the Chilkat Email.AddStringAttachment2 method, which adds a text attachment directly from an in-memory string and encodes it using a specified charset. The first argument is the attachment filename placed in the MIME (it is not a path to an existing file), the second is the text content, and the third is the charset used to encode the string. This example attaches a UTF-8 encoded text file.

Background: This is the charset-aware version of AddStringAttachment. Because text must be converted to bytes before it travels in a MIME part, the charset determines how non-ASCII characters (accents, non-Latin scripts) are represented. utf-8 is the safe modern default that can encode any character; the third argument may also begin with bom- or no-bom- to control whether a byte-order mark is written.

Chilkat SQL Server Downloads

SQL Server
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @iTmp0 int
    --  Demonstrates the AddStringAttachment2 method, which adds a text attachment from an
    --  in-memory string and encodes it using a specified charset.  The first argument is the
    --  attachment filename (not a path to read), the second is the content, the third is the charset.

    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', 'Email with a charset-encoded string attachment'
    EXEC sp_OASetProperty @email, 'Body', 'See the attached text file.'

    --  Add a string attachment named "notes.txt", encoding the content as utf-8.
    DECLARE @success int
    EXEC sp_OAMethod @email, 'AddStringAttachment2', @success OUT, 'notes.txt', 'Some notes with accented text.', 'utf-8'


    EXEC sp_OAGetProperty @email, 'NumAttachments', @iTmp0 OUT
    PRINT 'NumAttachments = ' + @iTmp0

    EXEC @hr = sp_OADestroy @email


END
GO