Sample code for 30+ languages & platforms
SQL Server

Create Apple Watch HTML (text/watch-html) Email

See more Email Object Examples

Demonstrates how to create an Apple Watch text/watch-html email.

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 will produce an email such as:

    -- 	MIME-Version: 1.0
    -- 	Date: Fri, 02 Jun 2017 09:17:06 -0500
    -- 	Message-ID: <E6F1F17104442EA09740322D3E2E78806C87FB80@CHILKAT13>
    -- 	X-Priority: 3 (Normal)
    -- 	Subject: Apple Watch Example
    -- 	From: from@example.org
    -- 	To: to@example.org
    -- 	Content-Type: multipart/alternative; boundary="------------080904030200000307060803"
    -- 
    -- 	--------------080904030200000307060803
    -- 	Content-Type: text/plain; charset=utf-8
    -- 	Content-Transfer-Encoding: quoted-printable
    -- 	Content-Disposition: inline
    -- 
    -- 	This is the plain text part.
    -- 	--------------080904030200000307060803
    -- 	Content-Type: text/watch-html; charset=utf-8
    -- 	Content-Disposition: inline
    -- 	Content-Transfer-Encoding: quoted-printable
    -- 
    -- 	<b>This is the Watch HTML part</b>
    -- 	--------------080904030200000307060803
    -- 	Content-Type: text/html; charset=utf-8
    -- 	Content-Disposition: inline
    -- 	Content-Transfer-Encoding: quoted-printable
    -- 
    -- 	<p>This is the standard HTML part</p>
    -- 	--------------080904030200000307060803--

    -- Create a new email instance to get the default auto-created fields.
    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, 'Body', 'This is the plain text part.'
    EXEC sp_OASetProperty @email, 'Subject', 'Apple Watch Example'
    EXEC sp_OASetProperty @email, 'From', 'from@example.org'
    EXEC sp_OAMethod @email, 'AddTo', @success OUT, '', 'to@example.org'

    EXEC sp_OAMethod @email, 'GetMime', @sTmp0 OUT
    PRINT @sTmp0

    PRINT '--'

    -- This is the MIME so far:
    -- (Chilkat automatically removes CKX-* headers when sending email.)

    -- 	MIME-Version: 1.0
    -- 	Date: Fri, 02 Jun 2017 09:17:06 -0500
    -- 	Message-ID: <E6F1F17104442EA09740322D3E2E78806C87FB80@CHILKAT13>
    -- 	Content-Type: text/plain; format=flowed
    -- 	Content-Transfer-Encoding: 7bit
    -- 	X-Priority: 3 (Normal)
    -- 	Subject: Apple Watch Example
    -- 	From: from@example.org
    -- 	To: to@example.org
    -- 
    -- 	This is the plain text part.

    -- We'll use the Chilkat MIME object to build it.
    -- The MIME API provides more flexibility..
    DECLARE @mime int
    EXEC @hr = sp_OACreate 'Chilkat.Mime', @mime OUT

    EXEC sp_OAMethod @email, 'GetMime', @sTmp0 OUT
    EXEC sp_OAMethod @mime, 'LoadMime', @success OUT, @sTmp0

    -- Convert this MIME to multipart/alternative.
    EXEC sp_OAMethod @mime, 'ConvertToMultipartAlt', @success OUT

    EXEC sp_OAMethod @mime, 'GetMime', @sTmp0 OUT
    PRINT @sTmp0

    PRINT '--'

    -- We now have this MIME:

    -- 	MIME-Version: 1.0
    -- 	Date: Fri, 02 Jun 2017 09:17:06 -0500
    -- 	Message-ID: <E6F1F17104442EA09740322D3E2E78806C87FB80@CHILKAT13>
    -- 	X-Priority: 3 (Normal)
    -- 	Subject: Apple Watch Example
    -- 	From: from@example.org
    -- 	To: to@example.org
    -- 	Content-Type: multipart/alternative; boundary="------------080904030200000307060803"
    -- 
    -- 	--------------080904030200000307060803
    -- 	Content-Type: text/plain; format=flowed
    -- 	Content-Transfer-Encoding: 7bit
    -- 
    -- 	This is the plain text part.
    -- 	--------------080904030200000307060803--

    -- If we desire a particular charset, encoding, or disposition..

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

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

    EXEC sp_OASetProperty @partPlainText, 'Charset', 'utf-8'
    EXEC sp_OASetProperty @partPlainText, 'Disposition', 'inline'
    EXEC sp_OASetProperty @partPlainText, 'Encoding', 'quoted-printable'

    -- Create the text/watch-html MIME part and add it.
    DECLARE @partWatchHtml int
    EXEC @hr = sp_OACreate 'Chilkat.Mime', @partWatchHtml OUT

    EXEC sp_OASetProperty @partWatchHtml, 'ContentType', 'text/watch-html'
    EXEC sp_OASetProperty @partWatchHtml, 'Charset', 'utf-8'
    EXEC sp_OASetProperty @partWatchHtml, 'Disposition', 'inline'
    EXEC sp_OASetProperty @partWatchHtml, 'Encoding', 'quoted-printable'
    EXEC sp_OAMethod @partWatchHtml, 'SetBody', NULL, '<b>This is the Watch HTML part</b>'
    EXEC sp_OAMethod @mime, 'AppendPart', @success OUT, @partWatchHtml

    EXEC sp_OAMethod @mime, 'GetMime', @sTmp0 OUT
    PRINT @sTmp0

    PRINT '--'

    -- We now have this MIME:

    -- 	MIME-Version: 1.0
    -- 	Date: Fri, 02 Jun 2017 09:17:06 -0500
    -- 	Message-ID: <E6F1F17104442EA09740322D3E2E78806C87FB80@CHILKAT13>
    -- 	X-Priority: 3 (Normal)
    -- 	Subject: Apple Watch Example
    -- 	From: from@example.org
    -- 	To: to@example.org
    -- 	Content-Type: multipart/alternative; boundary="------------080904030200000307060803"
    -- 
    -- 	--------------080904030200000307060803
    -- 	Content-Type: text/plain; charset=utf-8
    -- 	Content-Transfer-Encoding: quoted-printable
    -- 	Content-Disposition: inline
    -- 
    -- 	This is the plain text part.
    -- 	--------------080904030200000307060803
    -- 	Content-Type: text/watch-html; charset=utf-8
    -- 	Content-Disposition: inline
    -- 	Content-Transfer-Encoding: quoted-printable
    -- 
    -- 	<b>This is the Watch HTML part</b>
    -- 	--------------080904030200000307060803--

    -- Create the text/html MIME part and add it.
    DECLARE @partHtml int
    EXEC @hr = sp_OACreate 'Chilkat.Mime', @partHtml OUT

    EXEC sp_OASetProperty @partHtml, 'ContentType', 'text/html'
    EXEC sp_OASetProperty @partHtml, 'Charset', 'utf-8'
    EXEC sp_OASetProperty @partHtml, 'Disposition', 'inline'
    EXEC sp_OASetProperty @partHtml, 'Encoding', 'quoted-printable'
    EXEC sp_OAMethod @partHtml, 'SetBody', NULL, '<p>This is the standard HTML part</p>'
    EXEC sp_OAMethod @mime, 'AppendPart', @success OUT, @partHtml

    EXEC sp_OAMethod @mime, 'GetMime', @sTmp0 OUT
    PRINT @sTmp0

    PRINT '--'

    -- We now have this MIME:

    -- 	MIME-Version: 1.0
    -- 	Date: Fri, 02 Jun 2017 09:17:06 -0500
    -- 	Message-ID: <E6F1F17104442EA09740322D3E2E78806C87FB80@CHILKAT13>
    -- 	X-Priority: 3 (Normal)
    -- 	Subject: Apple Watch Example
    -- 	From: from@example.org
    -- 	To: to@example.org
    -- 	Content-Type: multipart/alternative; boundary="------------080904030200000307060803"
    -- 
    -- 	--------------080904030200000307060803
    -- 	Content-Type: text/plain; charset=utf-8
    -- 	Content-Transfer-Encoding: quoted-printable
    -- 	Content-Disposition: inline
    -- 
    -- 	This is the plain text part.
    -- 	--------------080904030200000307060803
    -- 	Content-Type: text/watch-html; charset=utf-8
    -- 	Content-Disposition: inline
    -- 	Content-Transfer-Encoding: quoted-printable
    -- 
    -- 	<b>This is the Watch HTML part</b>
    -- 	--------------080904030200000307060803
    -- 	Content-Type: text/html; charset=utf-8
    -- 	Content-Disposition: inline
    -- 	Content-Transfer-Encoding: quoted-printable
    -- 
    -- 	<p>This is the standard HTML part</p>
    -- 	--------------080904030200000307060803--

    -- Load the email object with this MIME, and we're good to go..
    EXEC sp_OAMethod @mime, 'GetMime', @sTmp0 OUT
    EXEC sp_OAMethod @email, 'SetFromMimeText', @success OUT, @sTmp0
    EXEC sp_OAMethod @email, 'GetMime', @sTmp0 OUT
    PRINT @sTmp0

    EXEC @hr = sp_OADestroy @email
    EXEC @hr = sp_OADestroy @mime
    EXEC @hr = sp_OADestroy @partPlainText
    EXEC @hr = sp_OADestroy @partWatchHtml
    EXEC @hr = sp_OADestroy @partHtml


END
GO