在现实生产环境中,数据库工作者很多时候需要关注咋公司的数据库咋样了,定时作业有没有出现问题?我们可以通过邮件的方式来通知用户,从而获取有用的信息,强大的SQL SERVER也提供两种内置的邮件发送方式,下面我们介绍下常用的利用SMTP服务器中继来实现邮件的转发。

一.什么是SMTP? 官方解释:SMTP (简单邮件传输协议)控制电子邮件通过Internet 传送到目标服务器的方式。SMTP在服务器之间接收和发送电子邮件。我们只要记住SMTP是传送邮件的载体就行了,配置SMTP配置步骤:

1.添加SMTP服务器,WINDOWS自带组件,但一般是不默认安装的,控制面板—添加和删除程序—打开和关闭WINDOWS功能—功能—添加功能—勾选SMTP服务器安装。打开SMTP服务(运行里输入NET START SMTPSVC)

2.安装成功以后,在管理工具 –> IIS (6.0) 管理器打开设置。

右击属性

打开身份验证选择匿名访问,然后确定.连接中可以限制访问该服务器的计算机,添加后确定.中继也同样配置后,确定.OK,SMTP配置完成,是不是很简单。

二.数据库邮件配置。打开资源管理器—管理—数据库邮件—右击配置数据库邮件进入以下邮件配置向导GUI界面,默认下一步到新建配置那页需要注意下,填完配置文件名后,添加SMTP帐户

服务器名称填写正确,下面选择勾上匿名访问,确定后下一步。。。完成(很简单)

三.OK搭建环境已经完成,我们测试下是否成功,数据库邮件右击—发送测试邮件,收件人填写邮件收件人地址,点击发送,不一会QQ邮件就有新邮件信息提示,激动眼泪啊……

四.利用SQL代码执行存储过程msdb.dbo.sp_send_dbmail,写入到msdb..sysmail_allitems,SQL触发器会自动获取写入信息,并且利用SMTP进行中继转发

查看发送邮件:

select * from msdb..sysmail_allitems

发送邮件代码:

EXEC msdb.dbo.sp_send_dbmail

@profile_name = 'mail',--就是上图的数据库邮件配置文件名

@recipients = N'454840277@qq.com',   -- 收件人地址 

--@copy_recipients = '''',   -- 抄送人地址            

@subject = N'TEXT库BACKUP 执行失败',  -- 邮件主题

@body = N'IP:192.168.127.11 TEXT库BACKUP 执行失败' ;  -- 邮件内容