如何利用SQL Server来发送电子发邮件?

来源:asp之家 时间:2010-01-01 15:37:00 

在SQL Server中,提供了通过Exchange或Outlook收发邮件的扩展存储过程。

下面简单地介绍一下:

一、启动SQL Mail:

xp_startmail @user,@password
其中,@user和@password都是可选的。
     也可打开Enterprise Manager中的Support Services,在SQL Mail上单击右键打开右键菜单,然后按Start来启动

二、停止SQL Mail
    xp_stopmail
    也可用上述方法中的菜单里的Stop来停止

三、发送邮件
    xp_sendmail {[@recipients =] 'recipients [;...n]'}
        [,[@message =] 'message']
        [,[@query =] 'query']
        [,[@attachments =] attachments]
        [,[@copy_recipients =] 'copy_recipients [;...n]'
        [,[@blind_copy_recipients =] 'blind_copy_recipients [;...n]'
        [,[@subject =] 'subject']
        [,[@type =] 'type']
        [,[@attach_results =] 'attach_value']
        [,[@no_output =] 'output_value']
        [,[@no_header =] 'header_value']
        [,[@width =] width]
        [,[@separator =] 'separator']
        [,[@echo_error =] 'echo_value']
        [,[@set_user =] 'user']
        [,[@dbuse =] 'database']

 参数说明:

序号


参   数


说  明


备  注


1


@recipients

收件人。多人中间用逗号分开

必需

2


@message

要发送的信息

 

3


@query

确定执行并依附邮件的有效查询

除触发器中的插入表及删除表外,此查询能引用任何对象

4


@attachments

附件

 

5


@copy_recipients

抄送

 

 


@blind_copy_recipients

密送

 

 


@subject

标题

 

 


@attach_results

指定查询结果做为附件发送

 

 


@no_header

不发送查询结果的列名

 

 


@set_user

查询联接的用户名

默认为Guset

 


@dbuse

查询所用的数据库

默认为缺省数据库

 

四、阅读邮件收件箱中的邮件
    xp_readmail [[@msg_id =] 'message_number'] [, [@type =] 'type' [OUTPUT]]
        [,[@peek =] 'peek']
        [,[@suppress_attach =] 'suppress_attach']
        [,[@originator =] 'sender' OUTPUT]
        [,[@subject =] 'subject' OUTPUT]
        [,[@message =] 'message' OUTPUT]
        [,[@recipients =] 'recipients [;...n]' OUTPUT]
        [,[@cc_list =] 'copy_recipients [;...n]' OUTPUT]
        [,[@bcc_list =] 'blind_copy_recipients [;...n]' OUTPUT]
        [,[@date_received =] 'date' OUTPUT]
        [,[@unread =] 'unread_value' OUTPUT]
        [,[@attachments =] 'attachments [;...n]' OUTPUT]]
        [,[@skip_bytes =] bytes_to_skip OUTPUT]
        [,[@msg_length =] length_in_bytes OUTPUT]
        [,[@originator_address =] 'sender_address' OUTPUT]]

    参数说明:

序号


参   数


说  明


备  注


1


@originator

发件人

 

2


@subject

主题

 

3


@message

信息

 

4


@recipients

收件人

 

5


@skip_tytes

读取邮件信息时跳过的字节数

用于顺序获取邮件信息段

6


@msg_length

确定所有信息的长度

通常与5一起处理长信息

 

五、处理下一个邮件:
    xp_findnextmsg [[@msg_id =] 'message_number' [OUTPUT]]
        [,[@type =] type]
        [,[@unread_only =] 'unread_value']]

六、删除邮件:
    xp_deletemail {'message_number'}
    如果不指定邮件编号则删除收件箱中的所有邮件

七、自动处理邮件:
    sp_processmail [[@subject =] 'subject']
        [,[@filetype =] 'filetype']
        [,[@separator =] 'separator']
        [,[@set_user =] 'user']
        [,[@dbuse =] 'dbname']

 

标签:SQL,Server,电子邮件,存储过程
0
投稿

猜你喜欢

  • 怎样在MySQL数据库中导出整个数据库

    2008-12-31 15:13:00
  • XMLHTTPRequest的属性和方法简介

    2007-12-18 18:42:00
  • asp实现新评论自动发短信提示的代码

    2011-03-07 10:38:00
  • phpMyAdmin开发人员访谈——4个人支持整个项目

    2010-05-26 15:34:00
  • 设计师的幸福

    2009-05-21 11:59:00
  • Oracle 10g的DBA无法登录解决方案

    2009-05-24 19:38:00
  • asp如何编写一个小数转换分数的函数?

    2009-11-08 19:01:00
  • JavaScript 与 ActionScript 3.0 交互的一些问题

    2008-01-27 12:20:00
  • link 和 style 元素在 HTML 文档中的位置

    2008-06-02 13:56:00
  • 《JavaScript语言精粹》

    2009-04-03 11:27:00
  • 如何修改被表单引用的ASP页面?

    2010-06-10 18:32:00
  • When we`re only No.2, we try harder之淘宝节日LOGO互动设计小探讨

    2010-01-20 10:31:00
  • 如何使用ASP实现网站的“目录树”管理

    2008-06-13 06:39:00
  • 浅谈javascript的分号[译]

    2009-12-13 10:34:00
  • JavaScript判断各种浏览器类型及版本

    2008-09-29 15:17:00
  • html注释所引起的一系列问题

    2008-11-04 13:23:00
  • BigPipe:高性能的"流水线技术"网页

    2010-11-02 12:47:00
  • 深入透析样式表滤镜(下)

    2011-06-14 09:49:19
  • SQL Server 2005返回刚刚插入的数据条目id值

    2008-12-04 17:16:00
  • asp金额大小写转换完全无错版

    2007-09-26 09:38:00
  • asp之家 网络编程 m.aspxhome.com