zoukankan      html  css  js  c++  java
  • SQL Server2008本地数据库调用SP发送邮件

    一、首先要对本地数据库做配置

    1.通过使用数据库邮件配置向导和sp_configure存储过程配置启用数据库邮件:

    注:服务器名称填写发送服务器的路径或者IP,电子邮件地址为寄件者地址

    配置好数据库邮件账户和配件文件后,使用SQL   Mail    XPs选项在此服务器上启用SQL    Mail(改选项默认是关闭的)

     sp_configure 'show  advanced  options' , 1

    go

    Reconfigure;

    go

    sp_configure 'SQL Mail  XPs' , 1

    go

    Reconfigure;

    go

    设置立即生效,无需停止并重新重启服务器

    查看数据库邮件日志:

    二、收到郵件顯示

    三、存储过程代码

    USE     数据库名称

    GO

    SET  ANSI_NULLS  ON

    GO

    SET QUOTED_IDENTIFIER  ON

    GO

    CREATE  PROCEDURE  存储过程名称

    AS

    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)

         DECLARE      @DayID                NVARCHAR(20)

    SET @DayId=CONVERT(NVARCHAR(10),DATEADD(DAY,-1,GETDATE()),111)

    SELECT @SignCount=COUNT(1) FROM  [GSClassDB].[dbo].[Class_Abnorm] WHERE DayID='2017/12/03'
     
     SET @MailSubject='非責任制出勤共'+@SignCount+'筆,請注意查收!'
     SET @MailTo='ximi@com'
     SET @Mailcc='ximi@com'
     SET @MailBcc=''
     SET @MailBody=''
     SET @MailFormat='HTML'
     SET @MailBody=
       N'Dear ALL:<br>非責任制出勤共'+@SignCount+'筆,請注意查收,謝謝!<br><H4>&nbsp;&nbsp;&nbsp;列表如下:&nbsp;&nbsp;&nbsp;</H>'+  
             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>'+
             CAST( ( SELECT 
           td=EmpID, ' ' ,
           td=EmpName, ' ' ,
           td=DeptID, ' '
           FROM  [GSClassDB].[dbo].[Class_Abnorm] WHERE DayID='2017/12/03'
             FOR XML PATH( ' t r ' ),TYPE
             )AS NVARCHAR(MAX))+
             N'</table><br>以上为系统发送,请勿回复,谢谢!!<资讯系统部-课>'
            
            
             DECLARE @i int
           BEGIN
       SET @i=0;
       IF(@SignCount>1)
       EXEC msdb.dbo.sp_send_dbmail 
       @profile_name='ximi',
       @recipients=@MailTo,
       @copy_recipients=@Mailcc,
       @blind_copy_recipients=@MailBcc,
       @subject=@MailSubject,
       @body=@MailBody,
       @body_format=@MailFormat
       SET @i=1;
        END
            
    END

  • 相关阅读:
    武汉大学2020年数学分析考研试题
    南开大学2020年数学分析考研试题
    南开大学2020年高等代数考研试题
    华中科技大学2020年数学分析考研试题
    华南理工大学2020年数学分析考研试题
    华东师范大学2020年数学分析考研试题
    华东师范大学2020年高等代数考研试题
    哈尔滨工业大学2020年数学分析考研试题
    大连理工大学2020年高等代数考研试题
    大连理工大学2020年数学分析考研试题
  • 原文地址:https://www.cnblogs.com/ximi07/p/10298732.html
Copyright © 2011-2022 走看看