您的位置:首页 > 数据库

sql CDO.Message邮件发送

2008-07-09 10:44 288 查看
CREATE PROCEDURE sys_sendmail @From varchar(100) , @To varchar(100) , @Bcc varchar(100) , @Subject varchar(400)=" ", @Body nText =" "

AS

Declare @object int

Declare @hr int

EXEC @hr = sp_OACreate 'CDO.Message', @object OUT

EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusing").Value','2'

EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value', '10.70.86.65'

--EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value', '25'

--下面三条语句是smtp验证,如果服务器需要验证,则必须要这三句,你需要修改用户名和密码

EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value','1'

EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusername").Value','etc_wlxxpt@zj.chinamobile.com'

EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value','2282a8'

--EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value','0'

EXEC @hr = sp_OAMethod @object, 'Configuration.Fields.Update', null

EXEC @hr = sp_OASetProperty @object, 'To', @To

EXEC @hr = sp_OASetProperty @object, 'Bcc', @Bcc

EXEC @hr = sp_OASetProperty @object, 'From', @From

EXEC @hr = sp_OASetProperty @object, 'MailFormat','0'

EXEC @hr = sp_OASetProperty @object, 'BodyFormat','0'

--base 64

EXEC @hr = sp_OASetProperty @object, 'BodyPart.Charset','gb2312'

EXEC @hr = sp_OASetProperty @object, 'BodyPart.ContentTransferEncoding','base64'

EXEC @hr = sp_OASetProperty @object, 'Subject', @Subject

EXEC @hr = sp_OASetProperty @object, 'HTMLBody', @Body

EXEC @hr = sp_OAMethod @object, 'Send', NULL

--判断出错

IF @hr <> 0

BEGIN

EXEC sp_OAGetErrorInfo @object

RETURN @object

END

PRINT 'success'

EXEC @hr = sp_OADestroy @object

GO
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: