如何使用SQL Mail收发和自动处理邮件?

时间:2010-05-16 15:10:00 

我发现有的网站利用了SQL SERVER提供的通过EXCHANGE或OUTLOOK收发邮件的扩展存储过程来完成收发和自动处理邮件(这句话太长了),是怎样实现的?

SQL SERVER为我们提供的扩展存储过程,可以完成收发和自动处理邮件功能,下面来大致了解一下:

一、运行和关闭

1、启动SQL Mail:
xp_startmail @user,@password
    其中@user和@password可选,还可通过打开Enterprise Manager中的Support Services,在SQL Mail上单击右键,然后按菜单中的Start来启动。

2、关闭SQL Mail:
     xp_stopmail
也可以通过打开Enterprise Manager中的Support Services,在SQL Mail上单击右键,按菜单里的Stop来终止。

二、收发邮件

1、发送邮件
xp_sendmail {[@recipients =] 'recipients [;...n]'}
' @recipients,收件人,中间用逗号分开,必需
        [,[@message =] 'message']
' @message,要发送的信息
        [,[@query =] 'query']
' @query,确定执行并依附邮件的有效查询,可以引用任何对象,触发器中的插入表及删除表除外
        [,[@attachments =] attachments]
' @attachments,附件
        [,[@copy_recipients =] 'copy_recipients [;...n]'
' @copy_recipients,抄送
        [,[@blind_copy_recipients =] 'blind_copy_recipients [;...n]'
' @blind_copy_recipients,密送
        [,[@subject =] 'subject']
' @subject,标题
        [,[@type =] 'type']
[,[@attach_results =] 'attach_value']
' @attach_results,指定查询结果做为附件发送
        [,[@no_output =] 'output_value']
  [,[@no_header =] 'header_value']
' @no_header,不发送查询结果的列名
        [,[@width =] width]
        [,[@separator =] 'separator']
        [,[@echo_error =] 'echo_value']
        [,[@set_user =] 'user']
' @set_user,查询联接的用户名,默认为Guset
        [,[@dbuse =] 'database']
' @dbuse,查询所用的数据库,默认为缺省数据库

2、阅读邮件收件箱中的邮件
xp_readmail [[@msg_id =] 'message_number'] [, [@type =] 'type' [OUTPUT]]
   [,[@peek =] 'peek']
        [,[@suppress_attach =] 'suppress_attach']
        [,[@originator =] 'sender' OUTPUT]
' @originator,发件人
        [,[@subject =] 'subject' OUTPUT]
' @subject,主题
        [,[@message =] 'message' OUTPUT]
' @message,信息
        [,[@recipients =] 'recipients [;...n]' OUTPUT]
' @recipients,收件人
        [,[@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]
'  @skip_tytes,读取邮件信息时跳过的字节数,用于顺序获取邮件信息段
        [,[@msg_length =] length_in_bytes OUTPUT]
' @msg_length,确定所有信息的长度,通常与@skip_bytes一起处理长信息
        [,[@originator_address =] 'sender_address' OUTPUT]]

3、按顺序处理下一个邮件
xp_findnextmsg [[@msg_id =] 'message_number' [OUTPUT]]
        [,[@type =] type]
        [,[@unread_only =] 'unread_value'])

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

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

标签:SQL,SERVER,mail,邮件
0
投稿

猜你喜欢

  • 简单介绍Python中的filter和lambda函数的使用

    2023-05-30 18:18:36
  • 解决layui-table单元格设置为百分比在ie8下不能自适应的问题

    2024-04-29 13:18:26
  • 详解python3 + Scrapy爬虫学习之创建项目

    2022-07-22 18:02:05
  • CSS绝对定位在宽屏分辨率下错位

    2009-07-28 12:24:00
  • 请问[\\u4E00-\\u9FA5]是什么正则表达式码

    2009-07-10 13:10:00
  • Pytorch数据拼接与拆分操作实现图解

    2021-08-01 04:37:05
  • python使用百度或高德地图获取地理位置并转换

    2021-10-26 16:28:55
  • 网页上的广告条设计思考

    2008-06-29 14:16:00
  • MySql存储过程与函数详解

    2024-01-13 16:32:56
  • php中使用session_set_save_handler()函数把session保存到MySQL数据库实例

    2023-11-18 01:11:16
  • vue中watch的实际开发学习笔记

    2024-04-30 10:41:15
  • 深入理解Django中内置的用户认证

    2022-01-25 10:05:43
  • 基于Vue的侧边目录组件的实现

    2024-05-22 10:44:34
  • Python异步爬虫requests和aiohttp中代理IP的使用

    2021-06-26 11:56:05
  • Selenium定位元素操作示例

    2022-01-21 04:23:56
  • python实现logistic分类算法代码

    2021-12-24 14:19:15
  • php测试kafka项目示例

    2023-11-19 20:40:04
  • python Yaml、Json、Dict之间的转化

    2022-05-15 02:26:17
  • Python中列表、字典、元组数据结构的简单学习笔记

    2022-08-08 22:19:11
  • 一篇文章彻底搞懂Python切片操作

    2021-10-11 18:23:07
  • asp之家 网络编程 m.aspxhome.com