利用SQL Server发送邮件

配置SQL Server ,允许发邮件这里有两种方式一中是通过界面操作,一中是全代码操作。两种方式的结果是一样的,使用者可以先通过代码操作,在通过界面操作去查看

1代码操作

--1.配置数据
exec sp_configure 'show advanced options',1
 RECONFIGURE WITH OVERRIDE  
 go
 exec sp_configure 'database mail xps',1 
 RECONFIGURE WITH OVERRIDE  
 go
 
--2.创建邮件帐户信息 
EXEC  msdb..sysmail_add_account_sp 
      @ACCOUNT_NAME ='ETLErrorMailLog',      -- 邮件帐户名称    
      @EMAIL_ADDRESS ='******@qq.com' ,    -- 发件人邮件地址     
      @DISPLAY_NAME ='系统管理员',            -- 发件人姓名  
      @REPLYTO_ADDRESS =NULL,    
      @DESCRIPTION = NULL,     
      @MAILSERVER_NAME = 'smtp.qq.com',       -- 邮件服务器地址    
      @MAILSERVER_TYPE = 'SMTP',               -- 邮件协议      
      @PORT =25,                              -- 邮件服务器端口  
      @USERNAME = '******@qq.com',          -- 用户名  
      @PASSWORD = '******',               -- 密码   
      @USE_DEFAULT_CREDENTIALS =0,     
      @ENABLE_SSL =0,       
      @ACCOUNT_ID = NULL
      GO
      
      --3.数据库配置文件
    if exists(select name from msdb..sysmail_profile where name=N'ETLErrorProfileLog')
    begin
     exec msdb..sysmail_delete_profile_sp
     @profile_name='ETLErrorProfileLog'
     end
     exec msdb..sysmail_add_profile_sp
      @profile_name = 'ETLErrorProfileLog',   -- profile 名称  
      @description = '数据库邮件配置文件',   -- profile 描述    
      @profile_id = null
         go
         
         
         
         --4.用户和邮件配置文件相关联
 exec msdb..sysmail_add_profileaccount_sp 
         @profile_name = 'ETLErrorProfileLog',  -- profile 名称   
         @account_name    = 'ETLErrorMailLog',    -- account 名称     
         @sequence_number = 1    -- account 在 profile 中顺序
         
         --5.发送文本测试邮件
         exec msdb..sp_send_dbmail
          @profile_name='ETLErrorProfileLog',
          @recipients='*******@qq.com',  --收件人
          @subject='Test title this is test ',
          @body=N'z中文邮件内容  中文邮件内容'
          go

--6.其他的发送语句
--基本的发送语句
EXEC sp_send_dbmail @profile_name = 'xx_adam',
@recipients = 'xx_adam@263.com',
@subject = '我数据库邮件测试成功了!',
@body = 'hello,world!'

--包含查询的
EXEC sp_send_dbmail @profile_name = 'xx_adam',
@recipients = 'xx_adam@263.com',
@subject = '查询结果',
@query = 'select * from demo.dbo.orders',

--包含附件
EXEC sp_send_dbmail @profile_name = 'xx_adam',
@recipients = 'xx_adam@263.com',
@subject = '包含附件',
@body = '有附件,请查收',
@file_attachments = 'c:a.txt'

--将查询作为附件
EXEC sp_send_dbmail @profile_name = 'xx_adam',
@recipients = 'xx_adam@263.com',
@subject = '查询结果',
@body = '查询结果在附件中',
@query = 'select * from demo.dbo.orders',
@attach_query_result_as_file = 1,
@query_attachment_filename = 'a.txt'

1.界面配置 SQL Server 外围配置


2.设置基础账号


3.发送邮件


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值