Tuesday, November 6, 2007

Send Email thru SQL

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[usp_sendMail]
(
@chMailFrom VARCHAR(100), @chMailTo VARCHAR(100), @chMailSubject VARCHAR(500),
@chMessage VARCHAR(8000), @chMailCC VARCHAR(1000)=NULL, @chMailBCC VARCHAR(1000)=NULL,
@chAttachedFile VARCHAR(1000)=NULL, @chAttachFile VARCHAR(1000)=NULL, @chAttachFile3 VARCHAR(1000)=NULL)
AS
DECLARE @Object INT, @HResult INT, @varerror INT
EXEC @HResult = dbo.sp_OACreate 'CDONTS.NEWMAIL',@Object OUT
EXEC @HResult = sp_OASetProperty @Object, 'BodyFormat', 0
EXEC @HResult = sp_OASetProperty @Object, 'MailFormat', 0
EXEC @HResult = sp_OASetProperty @Object, 'From', @chMailFrom
EXEC @HResult = sp_OASetProperty @Object, 'To', @chMailTo
EXEC @HResult = sp_OASetProperty @Object, 'Subject', @chMailSubject
EXEC @HResult = sp_OASetProperty @Object, 'body', @chMessage
IF REPLACE(isNull(@chMailCC,''),' ','') <> ''
EXEC @HResult = sp_OASetProperty @Object, 'CC', @chMailCC
IF REPLACE(isNull(@chMailBCC,''),' ','') <> ''
EXEC @HResult= sp_OASetProperty @Object, 'BCC', @chMailBCC
IF REPLACE(isNull(@chAttachedFile,''),' ','') <> ''
EXEC @HResult = sp_OAMethod @object, 'AttachFile', NULL, @chAttachedFile
IF REPLACE(isNull(@chAttachFile,''),' ','') <> ''
EXEC @HResult = sp_OAMethod @object, 'AttachFile', NULL, @chAttachFile
IF REPLACE(isNull(@chAttachFile3,''),' ','') <> ''
EXEC @HResult = sp_OAMethod @object, 'AttachFile', NULL, @chAttachFile3
EXEC @HResult = sp_OAMethod @Object, 'Send'
-- SELECT @varerror = @@error
-- IF @varerror != 0
-- PRINT 'E R R O R W H I L E S E N D I N G M A I L'
EXEC @HResult = sp_OAdestroy @Object

No comments: