通过sql存储过程发送邮件的方法

SQL Server怎样配置发送电子邮件
通常大家都知道:SQL Server与Microsoft Exchange Server集成性很好,关于这方面的配置,在SQL Server的联机帮助里有详细的说明,在此不再赘述。然而我们更关心的问题是:在没有Exchange Server的情况下,如何配置SQL Server利用Internet 邮件服务器发送邮件?

笔者曾为这问题伤透了脑筋,搜遍了互联网上的相关资料,发现仅有的几篇资料中有的是一笔带过,有的虽然介绍了操作步骤,可按照步骤一步一步操作下来,结果总是失败。为此笔者反复实验,终于找到一种简单有效的方法,不敢独自享受,下面是详细的配置步骤,如果您在操作的过程中碰到什么问题,请留言。

测试环境:

1 Windows 2000 Server
    2 SQL Server 2000+SP3
    3 Microsoft OutLook (Office 2000)

准备一个Internet邮件帐户:

测试电子邮件帐户:test@jb51.net
    Smtp服务器 smtp.163.com
    pop3服务器 pop.163.com

步骤一: 更改电子邮件配置

1 打开Microsoft OutLook 单击“工具”菜单中的“选项”,然后单击“邮件服务”选项卡。
    2 单击“重新配置邮件支持”。
    3 选择“用于企业或工作组”选项
    4 重新启动Microsoft OutLook

步骤二: 添加配置文件

1 单击“工具”菜单中的“服务”,然后单击“添加”按钮。
    2 选择"Internet 电子邮件",单击“确定”。
    3 下面的步骤是设置电子邮件帐号,请参考Microsoft Outlook帮助文件,这里不再赘述。
    4 利用配置好的电子邮件帐号收发邮件,确认配置成功。

步骤三: 配置MSSQLSERVER服务采用邮件配置文件

1 重新启动MSSQLSERVER服务(必须的,否则MSSQLSERVER服务检测不到上一步骤添加的配置文件)
    2 打开企业管理器->展开服务器->支持服务->右击"邮件"->点击下拉框,你会发现
    "Microsoft Outlook Internet Settings"选项,点击"测试"。如果弹出表示成功的对话框,那恭喜你,已经 大功告成了。

步骤四:享受你的劳动成果

1 打开SQL Server的查询分析器

2 输入下列SQL语句,执行
    exec master..xp_sendmail 'test@jb51.net','Hello,World!'

3 好了,去你的邮箱收邮件去吧!

注意事项:以上的配置过程要求以MSSQLSERVER服务采用的Windows帐号登录Windows 2000 Server,即你登录计算机所采用的帐号要和MSSQLSERVER服务采用的Windows帐号相同。

(0)

相关推荐

  • SQL server 表数据改变触发发送邮件的方法

    今天遇到一个问题,原有生产系统正在健康运行,现需要监控一张数据表,当增加数据的时候,给管理员发送邮件. 领到这个需求后,有同事提供方案:写触发器触发外部应用程序.这是个大胆的想法啊,从来没写过这样的触发器. 以下是参考文章: 第一种方法: 触发器调用外部程序. xp_cmdshell http://www.jb51.net/article/90714.htm 第一篇提供的方法是需要开启xp_cmdshell 先开启xp_cmdshell 打开外围应用配置器-> 功能的外围应用配置器-> 实例名

  • SQL Server 使用触发器(trigger)发送电子邮件步骤详解

    sql 使用系统存储过程 sp_send_dbmail 发送电子邮件语法: sp_send_dbmail [ [ @profile_name = ] 'profile_name' ] [ , [ @recipients = ] 'recipients [ ; ...n ]' ] [ , [ @copy_recipients = ] 'copy_recipient [ ; ...n ]' ] [ , [ @blind_copy_recipients = ] 'blind_copy_recipien

  • sqlserver2008自动发送邮件

    这两天都在搞这个东西,从开始的一点不懂,到现在自己可以独立的完成这个功能!在这个过程中,CSDN的好多牛人都给了我很大的帮助,在此表示十二分的感谢!写这篇文章,一是为了巩固一下,二嘛我也很希望我写的这点小东西能帮助遇到同样问题的朋友们!当然这里有一部分是从网上的摘录的实现一个类似于注册平台的功能:比如注册了一个用户,就会向注册邮箱里发送一封邮件.首先是要搭建一个自动发送邮件的平台,这个用sql server 2008(sql server 2005也有)的database mail就能很方便的实

  • Python读取ini文件、操作mysql、发送邮件实例

    我是闲的没事干,2014过的太浮夸了,博客也没写几篇,哎~~~ 用这篇来记录即将逝去的2014 python对各种数据库的各种操作满大街都是,不过,我还是喜欢我这种风格的,涉及到其它操作,不过重点还是对数据库的操作.呵~~ Python操作Mysql 首先,我习惯将配置信息写到配置文件,这样修改时可以不用源代码,然后再写通用的函数供调用 新建一个配置文件,就命名为conf.ini,可以写各种配置信息,不过都指明节点(文件格式要求还是较严格的): 复制代码 代码如下: [app_info] DAT

  • sqlserver数据库使用存储过程和dbmail实现定时发送邮件

    上文已讲过如何在数据库中配置数据库邮件发送(备注: 数据库邮件功能是 基于SMTP实现的,首先在系统中 配置SMTP功能.即 在 "添加/删除程序"面板中 "增加/删除WINDOWS组件",选中并双击 打开"IIS"或 "应用程序",勾选 "SMTP SERVICE"然后 一路 点"下一步"即可.一般不需要这一步,直接配置即可) 本文给出一个使用实例,结合存储过程和Job来实现定时从数据

  • 使用Python发送邮件附件以定时备份MySQL的教程

    最近迁移了wordpress,系统升级为CentOS 6,很奇怪的一个问题,在原来CentOS 5.8下用的很正常的定时备份数据库并通过邮件发送的脚本不能发送附件,其他都正常,邮件内容也是uuencode生成的文件编码,但是就是不产生附件.而且找不出原因,望有知道的不吝赐教. 为了解决这一问题,我用Python写了一个mail客户端,可以发送附件,是一个命令行程序.废话不多说.贴代码: #!/usr/bin/env python #-*- coding: utf8 -*- ''' #======

  • 使用sqlserver存储过程sp_send_dbmail发送邮件配置方法(图文)

    1) 创建配置文件和帐户 (创建一个配置文件和配置数据库邮件向导,用以访问配置数据库邮件管理节点中的数据库邮件节点及其上下文菜单中使用的帐户.) 打开数据库服务器 ------管理 -------数据库邮件------右键---配置数据库邮件(同时也可以看到管理已经配置好的邮件账户和配置文件) 这里的配置文件名,在使用sp_send_dbmail时会作为参数使用 点 "添加" 其中,账户名可以任意指定(描述功能即可),重点是邮件发送服务器(SMTP)的配置:电子邮件地址为发送方邮件地址

  • 通过sql存储过程发送邮件的方法

    SQL Server怎样配置发送电子邮件通常大家都知道:SQL Server与Microsoft Exchange Server集成性很好,关于这方面的配置,在SQL Server的联机帮助里有详细的说明,在此不再赘述.然而我们更关心的问题是:在没有Exchange Server的情况下,如何配置SQL Server利用Internet 邮件服务器发送邮件? 笔者曾为这问题伤透了脑筋,搜遍了互联网上的相关资料,发现仅有的几篇资料中有的是一笔带过,有的虽然介绍了操作步骤,可按照步骤一步一步操作下来

  • 浅谈基于SQL Server分页存储过程五种方法及性能比较

    在SQL Server数据库操作中,我们常常会用到存储过程对实现对查询的数据的分页处理,以方便浏览者的浏览. 创建数据库data_Test : create database data_Test GO use data_Test GO create table tb_TestTable --创建表 ( id int identity(1,1) primary key, userName nvarchar(20) not null, userPWD nvarchar(20) not null, u

  • 通用SQL存储过程分页以及asp.net后台调用的方法

    创建表格并添加300万数据 use Stored CREATE TABLE UserInfo( --创建表 id int IDENTITY(1,1) PRIMARY KEY not null,--添加主键和标识列 UserName varchar(50) ) declare @i int --添加3百万数据,大概4分钟时间 set @i=1 while @i<3000000 begin insert into UserInfo (UserName) values(@i) set @i=@i+1

  • MySQL解决SQL注入的另类方法详解

    本文实例讲述了MySQL解决SQL注入的另类方法.分享给大家供大家参考,具体如下: 问题解读 我觉得,这个问题每年带来的成本可以高达数十亿美元了.本文就来谈谈,假定我们有如下 SQL 模板语句: select * from T where f1 = '{value1}' and f2 = {value2} 现在我们需要根据用户输入值填充该语句: value1=hello value2=5 我们得到了下面的 SQL 语句,我们再提交给数据库: select * from T where f1='h

  • ACCESS 调用后台存储过程的实现方法

    但是,它要对大量数据处理时,速度比较慢.当有大量数据需要处理时,不能在Client端处理,而必须在Server端处理. 但ACCESS和Server端之间多数通过ODBC来连接,这样就增加了调用后台存储过程的难度.笔者通过在实际工作中长期的摸索,根据不同的业务需要,可以用下面三种方法去调用后台存储过程. 一. Access 向后台提交作业,这一个个作业对应一个个的存储过程.在SQL Server 6.5中,通过Task Manager 来建立相应的Task; 而在Oracle 8.0中,通过Ma

  • Mybatis传list参数调用oracle存储过程的解决方法

    怎么利用MyBatis传List类型参数到数据库存储过程中实现批量插入数据? MyBatis中参数是List类型时怎么处理?大家都知道MyBatis批处理大量数据是很难做到事务回滚的(事务由Spring管理),都将逻辑写在存储中又是及其头疼的一件事(参数长度也有限制),那么我想的是将参数在后台封装为单个或多个list集合,直接通过MyBatis将此参数传到数据库存储过程中,一来摆脱了MyBatis批量插入数据的诸多限制(例如:不能实时返回主键.foreach标签循环集合长度有限制),二来就是在存

  • ASP.NET防范SQL注入式攻击的方法

    一.什么是SQL注入式攻击?  SQL注入式攻击就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令.在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击.常见的SQL注入式攻击过程类如: ⑴ 某个ASP.NET Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入一个名称和密码. ⑵ 登录页面中输入的内容将直接用来构造动态的SQL命令,或者直

  • asp.net中如何调用sql存储过程实现分页

    首先看下面的代码创建存储过程 1.创建存储过程,语句如下: CREATE PROC P_viewPage @TableName VARCHAR(200), --表名 @FieldList VARCHAR(2000), --显示列名,如果是全部字段则为* @PrimaryKey VARCHAR(100), --单一主键或唯一值键 @Where VARCHAR(2000), --查询条件 不含'where'字符,如id>10 and len(userid)>9 @Order VARCHAR(100

  • asp.net sql存储过程

    Visual Studio.Net为SQL的存储过程提供了强大的支持,您既可以通过visual studio.net来新建存储过程,也可以直接在Sql Server的查询分析器中运行,还可以通过企业管理器创建,使用起来也非常方便.大家一直都误认为SQL存储过程是一个比较"高深"的技术,其实掌握一般的语法是没有什么大问题的,而我们在使用存储教程中也主要是增删减的操作,学会使用一般的T-SQL就很容易上手了. 我们先来看一下在Sql-server中是如何创建一个存储过程的吧,我们可以使用S

随机推荐