配置数据库邮件,发送邮件先要启用数据库邮件.可以从外围应用配置器中启用(见图一)
在sql server management studio中右击数据库邮件---配置数据库邮件(见图二),在(图三)选择通过执行以下任务来安装数据库邮件,在(图四)指定一个SMTP账号其中包括,账号名(administrator),邮件地址([email protected]).SMTP服务器地址(192.168.168.170).(图五)创建一个配置文件并把上图中的stmp账号关联到这个配置文件(本例中创建的是一个专用配置文件).可以使用windwos server 2003中的pop3 和iis和smtp,outlook测试.
database mail配置文件和账户都是存储在msdb数据库中的,可以使一个smtp账号有多少配置文件,一个配置文件也可以有多个smtp账号,用户也可以有多少配置文件的访问权(只要用户拥有一个配置文件的访问权,它就可以用使这个配置文件中的smtp账号去发送邮件),一个配置文件中有多个smtp账号可以实现fialover,一个用户拥有多个配置文件也能实现.
用脚本现实databasemail的实例如下
---- exec sp_addlogin 'ry','ry12!@'---添加一个数据库的登录账号(ry)密码(ty12!@)
----exec sp_addlogin 'mi','mi12!@'---添加一个数据库的登录张号(mi)密码(mi12!@)
---use msdb---
---sp_adduser 'ry','ry','databasenameuserRole'授予ty msdb数据库的访问权并加到databasemailuserRole角色中
----sp_adduser 'mi','mi','databasenameuserRole' 授予mi对msdb据库的访问权并加入databaseemailuserRole中
----sp_configure 'show advanced options',1
reconfigure
sp_configure 'database Mila XPs',1-----启动数据库邮件,相当于图一的操作.
----sp_msdb.dbo.sysmail_configure_sp 'accountRetryAttempts',2----配置账号重试次数为2如图6
----sP_msdb.dbo.sysmail_configure_sp 'MaxFileSize',1000000----设置最大文件大小为1000000Bit见图6
----sp_msdb.dbo.sysmail_configure_sp 'Logging Level',3---设置日志记录级别为详细见图6
----sp_msdb.dbo.sysmail_add_account_sp @accountName='sql server management',
@descroption='Mail account for sql server management tasks',
@mail_address='[email protected]',
@display_Name='sql server management',
@mailSERVER_Name='192.168.16.170'----添加一个smtp账号,见图4
----sp_msdb.dbo.sysmail_add_profile_sp @profile_Name='sql server management',
@descroption='profile for sql server management'---创建一个配置文件见图5
----sp_msdb.dbo.sysmail_add_profileAccount_sp @profile_name='sql server management',
@Account_name='sql server management',
@sequence_number=1----绑定配置文件和smtp账号, 并把smtp账号在配置文件中的优先级设为1
----sp_msdb.dbo.sysmail_add_principalProfile_sp @principal_name='ry',
@profile_name='sql server management',
@is_default=1----把配置文件访问权授予ry,并设为ry默认配置文件.
----sp_send_dbmail @profile_name='sql server management',
@recipients='[email protected]',
@subject='database mail test',
@body='this is a database mail test'----使用sql servermanagement配置文件向[email protected]发送件
---sp_send_dbmail @recipents='[email protected]',@subject='test',@body='make defaul configuration for database mail test' ---使用sql servermanagement配置文件向[email protected]发送件
----sp_send_dbmail @recipients='[email protected]',@attchment='c:/boot.ini',@subject='attachmet mail',
@body='this is a attachment for database mail'----发送再附件的邮件.
select * from msdb.dbo.sysmail_event_log ---- 查看邮件日志
select * from msdb.dbo.sysmail_allitems-----所有发送成功的邮件
select * from msdb.dbo.sysmail_faileditems--- 发送失败的邮件
select * from msdb.dbo.sysmail_unsentitems----未发送的邮件
select * from msdb.dbo.sysmail_mailattachments---带有附件的邮件