使用SQL Server 发送邮件

时间:2024-03-02 09:24:40

  在很多数据分析和集成的场景下,我们需要了解数据库中关键的脚本或者job的执行情况。这个时候邮件提醒是一种比较不错的通知方式。本文从零开始,一步一步的介绍如何使用SQL Server来发送邮件。

环境:126邮箱。SQL Server 2012。
 
1. 配置邮箱的SMTP权限(大部分邮箱默认情况下该功能是关闭的,所以需要手动认证打开)
 
登陆126邮箱---》设置---》POP3/SMTP/IMAP
 
 

 

2 勾选 POP3/SMTP服务,IMAP/SMTP服务,这个时候会提示“请设置授权码已开启服务”,点击确定。
 
 

 

3 在授权码页面点击“开启”,手机验证后,设置授权码。请注意:这里的授权码就是将来客户端使用的登陆密码!设置之后如下:
 
 

 

4 登陆SQL Server, 管理---》数据库邮件---》右键, 配置数据库邮件
 

 

 5 选择第一项:通过执行以下任务来安装数据库邮件。
 
 

 

6. 设置配置文件名。(以后会使用该配置来发送邮件)点击"添加"进入详细配置页面。
 
 

 

7. 按照下图所示进行配置。有两点需要注意:
1. 使用不同的邮箱有不同的端口号。126邮箱的端口号为25,如果你使用其他邮箱,可以去网上
查一下它们默认使用的smtp端口号是多少。
2. 下面的身份认证的密码一定要是前面所提到的授权码!而不能是邮箱的登陆密码。
(之所以有授权码的概念也是为了保证邮箱密码不外泄的情况下可以给相应的客户端开放smtp权限。)
 
 
 

 

 8. 点击确定以及下一步,完成邮箱配置文件的配置。
 
 

 

9. 发送测试邮件。右键数据库邮件---》发送测试电子邮件。输入相应的收件人(多人已分号相隔)
 
 

 

10. 邮箱收到邮件如下:
 
 

 

11. 最后补充一下如何通过SQL脚本来发送邮件。(前面的配置都是需要的)
 
EXEC msdb.dbo.sp_send_dbmail
    @profile_name = \'TestDBEmail\',
    @recipients = \'xxx@126.com;xxx@gmail.com\',
    @subject = \'Test\',
    @body = \'Test SQL Server sent email.\'