Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
|
Convert HTML Web Page to Email and SendConverts an HTML page at a URL into an email with embedded images and sends it.
CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @sTmp0 nvarchar(4000) -- The mailman object is used for receiving (POP3) -- and sending (SMTP) email. DECLARE @mailman int EXEC @hr = sp_OACreate 'Chilkat.MailMan2', @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 EXEC @hr = sp_OACreate 'Chilkat.Mht', @mht OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END -- Note: This example requires licenses to both "Chilkat Email" and "Chilkat MHT". -- Any string argument automatically begins the 30-day trial. DECLARE @success int EXEC sp_OAMethod @mailman, 'UnlockComponent', @success OUT, '30-day trial' IF @success <> 1 BEGIN EXEC sp_OAGetProperty @mailman, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 RETURN END EXEC sp_OAMethod @mht, 'UnlockComponent', @success OUT, '30-day trial' IF @success <> 1 BEGIN EXEC sp_OAGetProperty @mht, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 RETURN END DECLARE @email int -- 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 EXEC sp_OAMethod @mht, 'GetEmail', @email OUT, 'http://www.bonairefishing.com/' IF @email Is NULL BEGIN EXEC sp_OAGetProperty @mht, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 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', NULL, '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', NULL, 'Chilkat on Yahoo', 'chilkat_software@yahoo.com' EXEC sp_OAMethod @email, 'AddTo', NULL, '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 RETURN END EXEC sp_OAMethod @mailman, 'CloseSmtpConnection', @success OUT IF @success <> 1 BEGIN EXEC sp_OAGetProperty @mailman, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 RETURN END PRINT 'HTML Email Sent!' END GO |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.