技术开发 频道

在SQL Server 2005使用和管理数据库邮件

【IT168技术文档
    在SQL Server 2005里出现了一种新的邮件子系统,叫做数据库邮件。数据库邮件比起早些SQL Server版本的SQL邮件有很大改进。现在你可以建立多个账号和个人资料以满足你不同的应用电子邮件需求。这篇文章将要讨论建立和管理数据库邮件。

什么是数据库邮件?
  数据库邮件是一个邮件队列系统。电子邮件消息存储在msdb数据库里的队列中等待被处理。当一个电子邮件消息到达队列时,将会触发一个外部过程来把队列中的这个消息送到合适的邮件服务器端。邮件一旦被发送,一个装有邮递状态的电子邮件消息就会被邮递回SQL Server。

打开数据库邮件功能项
  数据库邮件在模块之外是不可用的。由于SQL Server安全模型缺省把所有选项都关闭了,如果你要想使用它的话就需要使能数据库邮件。你可以使用表面区域配置工具,或者用下面的T-SQL来使能数据库邮件:

sp_configure 'show advanced options', 1; GO RECONFIGURE; GO sp_configure 'Database Mail XPs', 1; GO RECONFIGURE GO



建立账号
    数据库邮件账号鉴别SQL Server 2005应该如何和SMTP服务器进行通信。这个账号具体说明了电子邮件如何被格式化和发送的。单一的账号将会鉴别单一的SMTP服务器和认证方法。数据库邮件所使用的账号不和SQL Server登录账号相对应。
当建立一个账号时你需要鉴别足够的信息以便使SQL Server 2005能够和SMTP服务器通讯,如果需要的话还要认证。可以参考Books Online获取定义账号的完整选项列表。你可以使用数据库邮件配置向导来建立账号,向导可以在SQL Server Management Studio里的“管理”文件夹“数据库邮件”下找到,或者使用存储过程(SP)“sysmail_add_account_sp”。这里有一个脚本使用了上面提到的存储过程来创建一个和不需要认证的SMTP服务器相通信的账号。

EXECUTE msdb.dbo.sysmail_add_account_sp @account_name = 'Database Administration Account', @description = 'Mail account for used by DBA staff', @email_address = 'ProdServer01@databasejournal.com', @display_name = 'ProdServer01 DBA Mail', @replyto_address = 'Greg.Larsen@databasejournal.com', @mailserver_name = 'mailserver.databasejournal.com';


   这个账号名为“数据库管理账号”,邮件地址为ProdServer01@databasejournal.com。使用数据库邮件的优点之一就是这个邮件地址不必再是你邮件系统中的一个有效的邮件账号。除此之外,你可以把回复地址和你的数据库邮件账号联系起来。在上面的例子中,我定义了Greg.Larsen@databasejournal.com作为回复地址。所以现在,当某人从我的自动邮件通知处理得到一封邮件时,他们可以回复,这个回复邮件能直接发送到我这里。

   有了数据库邮件,你就可以根据你的需要尽可能多地建立邮件账号。一会儿,我将讨论你需要建立多个数据库邮件账号的原因。

0
相关文章