使用SQL SERVER 来自动发送邮件

 

可以使用SQL SERVER 来发送自动邮件,主要是使用SQL SERVER 的dbo.sp_send_dbmail 存储过程(在msdb数据库中)。

具体步骤如下:

Step1: 编写要发送的邮件内容,然后调用sp_send_dbmail 存储过程来发送邮件:

 
 
declare @tableHTML varchar(max)

SET @tableHTML =

N'<style>

table { width:100%;}

table, th, td {
border: 1px solid black;border-collapse: collapse;}

th, td {padding: 5px;text-align: left;}

th { background-color:#4682B4;

font-size:12.0pt;font-weight:bold;

font-family:Arial ,sans-serif;

color :#ffffff;}

 tr { font-size:8.0pt;font-family:Arial,sans-serif;}'+

N'</style><H1 style="text-align:center">部门信息</H1>'+

N'<table align="center">'+

N'<tr><th width=20%" >部门编号</th>'+

N'<th width=40%>部门名称</th><th width=40%>上级部门名称</th>'+
N'</tr>'+
CAST((
select 
td=a.DepartID,'',
td=a.DepartName,'',
td=ISNULL(b.DepartName,'(NULL)'),''
from TTEM.dbo.EMOrgStructure a 

leftjoin TTEM.dbo.EMOrgStructure b on a.DepartParentID=b.DepartID

FORXMLPATH('tr'),TYPE

)ASNVARCHAR(MAX))+


N'</table>';

Exec dbo.sp_send_dbmail
@profile_name='DannyTest',
 @recipients ='V-Test@163.com',
 @subject='Test Stored Procedure Funtion of Sending Mails',
 @body=@tableHTML,
 @body_format ='HTML';
 
 

 

 
 

 

Step2: 执行完STEP1 的代码后就可以在收件箱中查看到刚才从SQL SERVER 自动发送的邮件了:

 

   

Step3: 初次在MSDB 中调用sp_send_dbmail 时,可能不成功,这是因为数据库默认没有启用和配置邮件功能,可参考如下步骤:

1,在SQL MANAGEMETN STUDIO 的“Management”---->"Database Mail"中进行配置:主要时设置Profile Name,设置发送邮件的发送人,发送邮件服务器等

 

 

 

更详细的配置可参考如下页面:

https://blogs.msdn.microsoft.com/apgcdsd/2011/06/28/sql-server-2008database-mail-sql

https://www.cnblogs.com/nowl/p/8351515.html

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/Fluent-1202/p/9150488.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值