2003/11/06

SQL서버에서 sp_OACreate를 활용한 메일발송 예제

다음 Query는 SQL Server에서 메일을 발송하는 예제입니다. 이 쿼리는 IIS-SMTP 서비스가 실행되고 있어야 합니다. 아래 코드는 CDONTS 컴포넌의 객체를 생성하여 보내는 방법입니다.

DECLARE @SenderAddress varchar(100) 
DECLARE @RecipientAddress varchar(100) 
DECLARE @Subject varchar(200) 
DECLARE @Body varchar(8000) 
DECLARE @oMail int--Object reference 
DECLARE @resultcode int 

SET @SenderAddress = 'serverinfo@serverinfo.pe.kr'
SET @RecipientAddress = 'webmaster@serverinfo.pe.kr'
SELECT @Subject = '이벤트 발생날짜 ' + CAST(getdate() AS varchar(12)) 
SET @Body = 'This is the body of my email'
EXEC @resultcode = sp_OACreate 'CDONTS.NewMail',
    @oMail OUT IF @resultcode = 0 
BEGIN EXEC @resultcode = sp_OASetProperty @oMail,
    'BodyFormat',
    0 EXEC @resultcode = sp_OASetProperty @oMail,
    'MailFormat',
    0 EXEC @resultcode = sp_OASetProperty @oMail,
    'Importance',
    1 EXEC @resultcode = sp_OASetProperty @oMail,
    'From',
    @SenderAddress EXEC @resultcode = sp_OASetProperty @oMail,
    'To',
    @RecipientAddress EXEC @resultcode = sp_OASetProperty @oMail,
    'Subject',
    @Subject EXEC @resultcode = sp_OASetProperty @oMail,
    'Body',
    @Body EXEC @resultcode = sp_OAMethod @oMail,
    'Send',
    NULL EXEC sp_OADestroy @oMail 
END


활용은 백업등 SQL Server 작업 에이젼트에서 특정작업후, 다음단계로 확인메일을 보내는 것으로 활용할수 있습니다. sp_OACreate 프로시져는 해당 호스트에 설치된 OLE오브젝트의 인스턴스를 생성할수 있습니다. 자세한 사용법은 온라인도움말을 참조하시기 바랍니다.



06-TechNetB_masthead_ltr.gif


댓글 없음:

댓글 쓰기

가장 많이 본 글