如何建立SQL Server 2005数据库邮件

ZDNet软件频道 时间:2009-04-10 作者:builder.com.cn Tim Chapman | 天新网 我要评论()
本文关键词:Mssql 数据库 SQL SQL Server
数据库邮件是SQL Server 2005数据库引擎中新增的一项实用的功能。Database Mail代替了SQL Mail,它使用一个简单邮件传输协议服务器,而不是SQL Mail所要求的MAPI账号来发送电子邮件。

下面的的脚本完成一些清理工作,以便如果我再次运行脚本,就不必担心出现错误。

IF EXISTS
(
SELECT * FROM msdb.dbo.sysmail_profileaccount pa      
JOIN msdb.dbo.sysmail_profile p ON pa.profile_id = p.profile_id      
JOIN msdb.dbo.sysmail_account a ON pa.account_id = a.account_id
WHERE      
p.name = @ProfileName AND      
a.name = @AccountName)
BEGIN      
PRINT "Deleting Profile Account"      
EXECUTE sysmail_delete_profileaccount_sp      
@profile_name = @ProfileName,      
@account_name = @AccountName
END

IF EXISTS
(
SELECT * FROM msdb.dbo.sysmail_profile p 
WHERE p.name = @ProfileName
)
BEGIN      PRINT "Deleting Profile."      
EXECUTE sysmail_delete_profile_sp      
@profile_name = @ProfileName
END

IF EXISTS
(
SELECT * FROM msdb.dbo.sysmail_account a
WHERE a.name = @AccountName
)
BEGIN      PRINT "Deleting Account."     
EXECUTE sysmail_delete_account_sp      
@account_name = @AccountName
END

下面的脚本给系统增加账户(Account)、用户资料(Profile)和账户-用户资料(Account-Profile)关系。

EXECUTE msdb.dbo.sysmail_add_account_sp

@account_name = @AccountName,

@email_address = @EmailAddress,

@display_name = @DisplayUser,

@mailserver_name = @SMTPAddress

EXECUTE msdb.dbo.sysmail_add_profile_sp

@profile_name = @ProfileName 

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp

@profile_name = @ProfileName,

@account_name = @AccountName,

@sequence_number = 1 ;

现在一切都已经准备妥当,我将发送一封测试电子邮件。

EXEC msdb.dbo.sp_send_dbmail

@recipients=N"chapman.tim@gmail.com",

@body= "Test Email Body", 

@subject = "Test Email Subject",

@profile_name = @ProfileName

要检查消息是否发送成功,我可以对sysmail_allitems系统视图执行一次查询。

SELECT * FROM sysmail_allitems

Mssql

数据库

SQL

SQL Server


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134