zoukankan      html  css  js  c++  java
  • 通过SQLServer的数据库邮件来发送邮件

    通过SQL Server,也可以发送邮件,而且配置过程也是非常的简单,只需要你有邮箱就行。

    下面就通过SQL Server来发送邮件。

    一、启用Database Mail XPs功能。

    查看Database Mail XPs功能是否打开,从返回结果来看,value为0说明没有打开,注意SQL Mail XPs是SQL Server早期版本提供的发送邮件功能,而现在用的是Database Mail XPs来实现发送邮件。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    select name,
           value,
           description,
           is_dynamic,
           is_advanced
    from sys.configurations
    where name like '%mail%'
    /*
    name    value   description is_dynamic  is_advanced
    SQL Mail XPs    0   Enable or disable SQL Mail XPs  1   1
    Database Mail XPs   0   Enable or disable Database Mail XPs 1   1
    */

    启动Database Mail XPs功能:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    sp_configure 'show advanced options',1
    go
    reconfigure
    go
     
    sp_configure 'Database Mail XPs',1
    go
    reconfigure
    go

    二、配置数据库邮件

    1、点开管理目录,右键“数据库邮件”,选择“配置数据库邮件”选项:

    2、弹出“数据库邮件配置向导”,单击下一步:

    3、选择“通过执行以下任务来安装数据库邮件”选项,单击下一步:

    4、输入“配置文件名”,这里我输入的是:db_mail,然后单击右侧的“添加”按钮:

    5、输入账户名、说明,按照你的实际情况,输入:电子邮件地址、服务器名称,用户名和密码,必须要输入正确,否则就不能正确发送邮件。

    比如我的邮箱地址是:xbase100@163.com,用户名和密码,就是登陆这个邮箱的用户名和密码,服务器名称是:smtp.163.com

    6、填写完成后,单击下一步:

    7、在“公共”选项打上勾,单击下一步:

    8、可以修改“配置系统参数”,比如账户重试次数,禁止的附件文件扩展名,单击下一步:

    9、单击完成按钮。

    10、显示配置成功。

    三、发送邮件。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    DECLARE @email_conetent VARCHAR(8000);    --存放邮件正文
     
    --计算有多少条记录
    SELECT  @email_conetent = '你的数据库,共有:'+ cast(COUNT(*) as varchar)  + '个表!' 
    FROM sys.tables;  
      
     
    --发送邮件 
    EXEC msdb.dbo.sp_send_dbmail
        @profile_name = 'db_mail',         --配置文件名称
        @recipients = 'abc@163.com'--收件email地址
        @subject = '你好',                 --邮件主题
        @body = @email_conetent            --邮件正文内容

    四、查看数据库邮件日志。

    右键“数据库邮件”,选择“查看数据库邮件日志”:

    五、登陆邮箱验证邮件是否发送成功。

    登陆163的邮箱,看到有新的邮件:

    打开邮件,看到的邮件内容:

  • 相关阅读:
    SQL SERVER 表分区测试备忘
    理解信息系统中的流程与工序
    获取最后插入的id另外方法
    asp.net 项目在 IE 11 下出现 “__doPostBack”未定义 的解决办法
    定制应用Repeater 、ListView的模版
    JavaScript学习笔记——简单无缝循环滚动展示图片的实现
    JavaScript学习笔记——JS中的变量复制、参数传递和作用域链
    CSS学习笔记——定位position属性的学习
    CSS学习笔记——CSS中定位的浮动float
    CSS学习笔记——盒模型,块级元素和行内元素的区别和特性
  • 原文地址:https://www.cnblogs.com/mengxingxinqing/p/3664551.html
Copyright © 2011-2022 走看看