今天偶然研究了一下sqlserver发送邮件的功能,之前听说过可以发,但是一直没尝试过,只是用C#写后台程序的方式来发邮件。
现在又多了一种发送邮件的途径。
大致的步骤如下:
1.配置sqlserver邮件发送的smtp服务器。
2.发送测试邮件验证配置的正确性。
3.新建作业,编写sql脚本
4.配置作业,完成。
完整的教程参考自:
http://zhangkui.blog.51cto.com/1796259/340557
其中需要注意的是,
新建配置文件的时候需要记住配置的文件名称,因为发送时候的存储过程需要定义这个参数。
另外,在配置的时候,需要填写身份验证,而不是使用默认的匿名验证。
存储过程可以先在查询分析器中执行一下测试。存储过程需要在msdb库中运行!
发送邮件的sql语句如下:
USE msdb; DECLARE @emailBody VARCHAR(4000); SELECT @emailBody = COUNT(*) FROM hrmtest.dbo.ehrusers; SET @emailBody = @emailBody + '啦啦啦' EXEC dbo.sp_send_dbmail @profile_name = 'test', @recipients = 'wangjue_os@lightinthebox.com', @subject = 'mail test', @body = @emailBody --declare @sql as varchar(4000) --select @sql='' --Select @sql=@sql+ c_name+',' --from hrmtest.dbo.employee1 --select @sql