本篇文章给大家带来的内容是关于SQL Server存储过程邮件以格式形式发送的方法(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
一、收到邮件显示:
二、存储过程代码部分:
BEGIN SET NOCOUNT ON; --初始化 Declare @MailTo nvarchar(max) Declare @MailCc nvarchar(max) Declare @MailBcc nvarchar(max) Declare @MailSubject nvarchar(255) Declare @MailBody nvarchar(max) Declare @MailFormat nvarchar(20) DECLARE @SignCount nvarchar(50) --查询表格中异常资料笔数 SELECT @SignCount=COUNT(1) FROM 表名称 WHERE 筛选条件 SET @MailSubject='異常共'+@SignCount+'筆' SET @MailFormat='HTML' SET @MailTo='xxx.zzz@qq.com' --收件人邮件地址 SET @MailCc='xxx.zzz@qq.com' --抄送 SET @MailBcc='xxx.zzz@qq.com' --密送 SET @MailBody='' --发送内容 SET @MailBody = N'Dear Sir/Madam:<br>異常共'+@SignCount+'筆,請及時核對,謝謝!!!<br><H4> 列表如下:</H4>' + --定义邮件表格尺寸大小 N'<table border="1" style="font-size:11px;text-align:center" width="60%">' + --定义列表对应列名称 N'<tr style="font-size:11"><th>工號</th>' + N'<th>姓名</th>' + N'<th>已用天數</th>' + N'<th>實際已用天數</th>' + N'<th>異常狀態</th>' + --表主体结果 CAST ( ( SELECT td = Empid, '', td = EmpCName, '', td = [ULColA29-AdjAnlUsePos-Sum], '', td = VocaTotalHours, '', td = [ULColA29-State], '' FROM 表名称 Form WHERE 筛选条件 FOR XML PATH('tr'), TYPE --将查询出来结果以HTML语言 td/tr显示出来 ) AS NVARCHAR(MAX) ) + N'</table><br>以上為系統發送,請勿回復!!!<br>xx部xx課' declare @i int BEGIN SET @i=0; EXEC asdb.dbo.xx_xxx_xxxxx --执行SQL邮件发送的一个功能地址,这个地址就要去问公司的负责人了 --对应的邮件主体参数带入发送邮件 @profile_name='MIS_SMTP_Mail', --系统设置的邮件发送名称 --公司邮件管理者DB设置 @recipients=@MailTo, @copy_recipients=@MailCc, @blind_copy_recipients=@MailBcc, @subject=@MailSubject, @body=@MailBody, @body_format=@MailFormat SET @i=1; END END
Atas ialah kandungan terperinci SQL Server存储过程邮件以格式形式发送的方法(代码示例). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!