Отправка почты посредством MS-SQL !

Ура, товарищи! нашел фичу, как отправлять почту из мс сиквела:
 

CREATE PROCEDURE ChilkatSample
AS
BEGIN

DECLARE
@hr int
DECLARE @sTmp0 nvarchar(4000)
DECLARE @mailman int

EXEC @hr = sp_OACreate 'Chilkat.MailMan2', @mailman OUT

IF
@hr <> 0
BEGIN
   PRINT 'Не смогли создать ActiveX компонент :(' RETURN
END

-- 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
       
PRINT 'Component unlock failed'
RETURN
END

DECLARE @recipient nvarchar(4000)

SELECT @recipient = 'admin@chilkatsoft.com'

-- Do a DNS MX lookup for the recipient's mail server.
DECLARE @smtpHostname nvarchar(4000)

EXEC sp_OAMethod @mailman, 'MxLookup', @smtpHostname OUT, @recipient

IF @smtpHostname Is NULL
BEGIN
  
 EXEC sp_OAGetProperty @mailman, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
RETURN
END

PRINT @smtpHostname

-- Set the SMTP server.
EXEC sp_OASetProperty @mailman, 'SmtpHost', @smtpHostname

-- Create a new email object
DECLARE @email int
EXEC @hr = sp_OACreate 'Chilkat.Email2', @email OUT

IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END

EXEC sp_OASetProperty @email, 'Subject', 'This is a test'
EXEC sp_OASetProperty @email, 'Body', 'This is a test'
EXEC sp_OASetProperty @email, 'From', 'Chilkat Support '
EXEC sp_OAMethod @email, 'AddTo', NULL, '', @recipient
EXEC sp_OAMethod @mailman, 'SendEmail', @success OUT, @email

IF @success <> 1
BEGIN
EXEC sp_OAGetProperty @mailman, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
END
ELSE
BEGIN
PRINT 'Mail Sent!'
END
END
GO

2 комментария:

Можете оставить свой комментарий