当前位置: 移动技术网 > IT编程>数据库>MSSQL > SQL Server存储过程邮件发送以表格方式发送

SQL Server存储过程邮件发送以表格方式发送

2019年01月12日  | 移动技术网IT编程  | 我要评论

蝶影心华,连锁店加盟网,青州论坛

一、收到邮件显示:

 

二、存储过程代码部分: 

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>&nbsp;&nbsp;&nbsp;&nbsp;列表如下:</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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网