MSSQL数据库邮件系列二(SSMS和TSQL)
一、前言
在配置数据库邮件之前,先和大家说说数据库邮件体系,首先我们知道的,msdb系统数据库保存有关Job,Database Mail,Nodifyication等等之类信息的.
MSSQL2005的邮件功能,使用了Services Broker进行了队列处理.然后使用外部进程,这个可以在配置成功Mail以后查看任务管理器中的进程.
另外的, sp_send_dbmail是手动发送邮件的存储过程,我们必须显示的赋值才能发送,等配置完以后和大家说说这个存储过程.
二、配置.
首先,因为邮件是基于services broker发送的,我们必须确保msdb数据库打开了service broker 功能.
下面开始配置:
#1:打开SSMS的对象资源管理器->在管理文件中->打开数据库邮件->右键->选择配置数据库邮件
#2:我们会得到这样一个对话框:
我们先选择第一个Radio,重新配置
#3:
配置文件名填写 配置文件的名称
然后我们新添加一个SMTP帐号,而且在对话框中有说明,一个配置文件可以与多个SMTP帐号关联,说明可以故障转移,当我们的一个SMTP服务器宕机异常的时候,自动的转移到下一个SMTP账户.
#4:
我这里的话已经新建了一个数据库邮件帐号,所以你需要单击新建帐号打开对话框
#5:
帐户名的话就是在上幅图中的帐户名的名称显示.然后看到SMTP这块,电子邮件地址也就是接受发送邮件的地址.而答复电子邮件可以设置相同的电子邮件,服务器名称制定自己的主机IP或者主机名
看到SMTP身份验证
之前我们在POP3中设置的就是基本身份验证(这种是明文形式的密码,不太安全,以后可以使用CA,我CA的文章已经在写了,到时候发上去吧呵呵)
密码帐号自己填写.
成功以后,就选择一个配置文件账户.
#6:我们可以建立多个帐号方便故障转移
#7:
在公共配置文件中,博友可以按照自己的爱好配置了,配置是否默认配置文件==
记得一定要有msdb中的角色:
SELECT
rl.name AS [Name]
FROM
sys.database_principals AS rl
INNER JOIN sys.database_principals AS ou ON ou.principal_id = rl.owning_principal_id
WHERE (rl.type = 'R')
查询中的DatabaseMailUserRole角色.
公共配置文件对 msdb 数据库中的 DatabaseMailUserRole 数据库角色的所有成员都可用。它们允许
DatabaseMailUserRole 角色的所有成员使用该配置文件发送电子邮件。专用配置文件为 msdb 数据库中的安全主体而定义。它们仅允许指定的数据库用户、角色和 sysadmin 固定服务器角色的成员来使用该配置文件发送电子邮件。
#8:
可以配置具体的参数,比如文件扩展名啊,重试次数啊,日志记录级别等
#9:一直下一步,确定.如果成功了恭喜你,你认真查看了本文章
#10:继续回到对象资源管理器->数据库邮件->右键发送测试文件
我们通过自己建立账户1@mssql.com向2@msql.com发送邮件.
--我们通过下面的方式来查看相关的信息
其他的一些存储过看看:
ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.zh-CHS/udb9/html/5aa2886e-1db1-4066-85df-57ccf4538c54.htm
最后就是使用sp_send_dbmail来发送邮件可以查阅MSDN:
ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.zh-CHS/tsqlref9/html/f1d7a795-a3fd-4043-ac4b-c781e76dab47.htm
三、结束语
通过两篇文章博友应该基本了解了数据库邮件的配置,至于如何使用,就看大家了哈.