Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) Convert HTML Web Page to Email and SendConverts an HTML page at a URL into an email with embedded images and sends it.
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) -- This example assumes the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. DECLARE @mailman int -- Use "Chilkat_9_5_0.MailMan" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.MailMan', @mailman OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END -- The MHT component can be used to convert an HTML page -- from a URL, file, or in-memory HTML into an email -- with embedded images and style sheets. DECLARE @mht int -- Use "Chilkat_9_5_0.Mht" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Mht', @mht OUT DECLARE @email int -- Use "Chilkat_9_5_0.Email" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Email', @email OUT -- There are two ways of embedding images in emails: with CIDs -- and without. When using CIDs, the IMG SRC attributes use -- urls that begin with "cid:" and the corresponding image -- embedded within the email includes a Content-ID header field. -- When not using CIDs, the IMG SRC attribute can have a URL, -- path, etc. and the corresponding image embedded within -- the email has a matching Content-Location header field. -- When testing with GMail, if CIDs are used the email will -- be displayed with images blocked (by default) unless -- the user allows them to be displayed. Without CIDs, -- the images are automatically displayed. -- When testing with Eudora, Mozilla Thunderbird, and Outlook Express, -- embedded images display correctly with our without CIDs. -- When testing with Yahoo! Mail, embedded images display OK. -- However, the Yahoo! Mail user has the option of blocking -- images. If this is turned on, the CID images will still -- display correctly even though images are blocked. Why? -- It's because when viewing the email there is no external -- HTTP request to fetch an image. Therefore, a spammer -- cannot get an indication that you've read the email. -- However, if CIDs are not used, the images are blocked by -- any Yahoo! Mail user that has image blocking turned on -- -- even though the images are embedded. -- I haven't tested Hotmail yet... -- Regardless, there is no perfect solution. If CIDs are used, -- GMail users may block your embedded images, if CIDs are not -- used, Yahoo! Mail users may block your embedded images. -- I recommend setting using CIDs. This is what Mozilla Thunderbird -- does by default, and it's the more clear an unambiguous way -- to indicate that images are indeed embedded. EXEC sp_OASetProperty @mht, 'UseCids', 1 DECLARE @emlStr nvarchar(4000) EXEC sp_OAMethod @mht, 'GetEML', @emlStr OUT, 'http://www.bonairefishing.com/' EXEC sp_OAGetProperty @mht, 'LastMethodSuccess', @iTmp0 OUT IF @iTmp0 <> 1 BEGIN EXEC sp_OAGetProperty @mht, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @mailman EXEC @hr = sp_OADestroy @mht EXEC @hr = sp_OADestroy @email RETURN END DECLARE @success int EXEC sp_OAMethod @email, 'SetFromMimeText', @success OUT, @emlStr IF @success <> 1 BEGIN EXEC sp_OAGetProperty @email, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @mailman EXEC @hr = sp_OADestroy @mht EXEC @hr = sp_OADestroy @email RETURN END EXEC sp_OASetProperty @email, 'Subject', 'Test HTML email' -- This example is tested in: -- Outlook 2000, Eudora 7, Mozilla Thunderbird 1.5.0.9, Outlook Express 6, GMail, Yahoo Mail EXEC sp_OAMethod @email, 'AddTo', @success OUT, 'Chilkat Support', 'support@chilkatsoft.com' -- Note: Chilkat does not regularly check our GMail and Yahoo -- email accounts. Please send support email to support@chilkatsoft.com EXEC sp_OAMethod @email, 'AddTo', @success OUT, 'Chilkat on Yahoo', 'chilkat_software@yahoo.com' EXEC sp_OAMethod @email, 'AddTo', @success OUT, 'Chilkat on GMail', 'chilkat.support@gmail.com' EXEC sp_OASetProperty @email, 'From', 'chilkat@live.com' -- Send email using smtp.live.com EXEC sp_OASetProperty @mailman, 'SmtpHost', 'smtp.live.com' EXEC sp_OASetProperty @mailman, 'SmtpUsername', 'chilkat@live.com' EXEC sp_OASetProperty @mailman, 'SmtpPassword', 'myPassword' EXEC sp_OASetProperty @mailman, 'SmtpPort', 587 EXEC sp_OASetProperty @mailman, 'StartTLS', 1 EXEC sp_OAMethod @mailman, 'SendEmail', @success OUT, @email IF @success <> 1 BEGIN EXEC sp_OAGetProperty @mailman, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @mailman EXEC @hr = sp_OADestroy @mht EXEC @hr = sp_OADestroy @email RETURN END EXEC sp_OAMethod @mailman, 'CloseSmtpConnection', @success OUT IF @success <> 1 BEGIN EXEC sp_OAGetProperty @mailman, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @mailman EXEC @hr = sp_OADestroy @mht EXEC @hr = sp_OADestroy @email RETURN END PRINT 'HTML Email Sent!' EXEC @hr = sp_OADestroy @mailman EXEC @hr = sp_OADestroy @mht EXEC @hr = sp_OADestroy @email END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.