巧用SqlServer数据库实现邮件自动发送功能

使用数据库发送邮件需要三个步骤,配置数据库的邮件服务、编写存储过程、设置SQL作业,接下来开始逐步分享:

配置数据库邮件:

在SqlServer左侧菜单栏中,找到管理页签中数据库邮件选项:

巧用SqlServer数据库实现邮件自动发送功能_第1张图片

接下来开始配置数据库邮件:

巧用SqlServer数据库实现邮件自动发送功能_第2张图片

这里我们选择创建一个全新的配置,并启动该功能,随后下一步即可:

巧用SqlServer数据库实现邮件自动发送功能_第3张图片

给配置文件起一个霸气的名字,说明随意填写即可,这个配置名字需要记得,后面我们还需要使用到它,点击添加功能,开始进行邮箱详细信息的配置:

巧用SqlServer数据库实现邮件自动发送功能_第4张图片

这里填写好你们公司购买的邮件服务账号信息即可,如果没有的话,也可以使用QQ邮箱自带的SMTP功能,启动SMTP服务即可,功能上肯定会有一些限制:

巧用SqlServer数据库实现邮件自动发送功能_第5张图片

填写好配置信息之后,列表中会出现刚才配置的SMTP账户信息:

巧用SqlServer数据库实现邮件自动发送功能_第6张图片

剩下的步骤就是继续、继续、向着胜利出发:

巧用SqlServer数据库实现邮件自动发送功能_第7张图片

巧用SqlServer数据库实现邮件自动发送功能_第8张图片

成功之后也不要骄傲哦,需要测试一下,看邮箱配置是否可以正常地发送邮件,这一点非常的重要,否则后面的操作都会受到影响:

巧用SqlServer数据库实现邮件自动发送功能_第9张图片

巧用SqlServer数据库实现邮件自动发送功能_第10张图片

编写存储过程:

上述步骤测试通过后,我们开始进行存储过程的编写了,为SQL作业的自动执行打下脚本的基础。

存储过程的编写思路就是:将邮件需要发送的内容进行获取,然后通过SQL调用发送邮件的存储过程,将其需要的参数一一提供即可。

这里使用的存储过程是:sp_send_dbmail,需要的主要参数解释下:

  1. @profile_name:这个参数为刚才配置数据库邮件的名称。
  2. @recipients:接收人邮箱地址。
  3. @subject:邮件标题。
  4. @body:邮件内容。
  5. @body_format:邮件格式。
CREATE PROC [dbo].[AutoOrdersEmailNotice]
AS
BEGIN
DECLARE @EmailAddress NVARCHAR(100) = '[email protected]';
DECLARE @CONTENT NVARCHAR(500) = N'

2021-6-5:订单汇总报表


序号产品名订单数单价总价
1车厘子20010020000
2冰糖心100505000
3芝麻蕉5004020000
'; Exec msdb.dbo.sp_send_dbmail @profile_name='TestSqlMail', @recipients=@EmailAddress, @subject=N'2021-6-5日,订单汇总报表', @body=@CONTENT, @body_format = 'HTML' END
  • 1.

编写后同样需要测试,如果可以执行该存储,可以实现邮件的正常发送功能,那么我们此时离胜利只有一步之遥了。

设置SQL作业:

SQL作业的用途就是可以自动、定时地执行SQL脚本,例如:每天更新用户年龄、更新一些订单的状态等等。

使用SQL作业,首先需要开启SqlServer代理服务:

巧用SqlServer数据库实现邮件自动发送功能_第11张图片

巧用SqlServer数据库实现邮件自动发送功能_第12张图片

接下来我们新建作业,用于执行刚才编写的存储过程:

巧用SqlServer数据库实现邮件自动发送功能_第13张图片

填写作业需要的相关信息:

巧用SqlServer数据库实现邮件自动发送功能_第14张图片

解析来选择新建步骤,不要点击确定按钮,这里填写SQL作业需要执行哪个数据库下面的,哪段SQL脚本:

巧用SqlServer数据库实现邮件自动发送功能_第15张图片

设置SQL作业的执行计划,这里根据实际需求设置即可,我这里需要每天定时发送:

巧用SqlServer数据库实现邮件自动发送功能_第16张图片

设置成功之后,同样需要测试一下:

巧用SqlServer数据库实现邮件自动发送功能_第17张图片

巧用SqlServer数据库实现邮件自动发送功能_第18张图片

数据库自动发送邮件成功了,流下了激动的泪水,偷懒果然会让人快乐,晚上可以加鸡腿了。当然我们每天需要关注一下,邮件发送的日志,掌握功能的运行情况:

巧用SqlServer数据库实现邮件自动发送功能_第19张图片

巧用SqlServer数据库实现邮件自动发送功能_第20张图片

总结一下:

这就是使用SqlServer完成的邮件自动发送功能,不同的数据库配置肯定会有所不同,但思路都是大相径庭的。

你可能感兴趣的:(数据库SQL,server,数据库,sqlserver,oracle)