如何使用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']


猜你喜欢
- js一共有9种数据类型,分别是:未定义(undefined)、空(null)、布尔型(boolean)、字符串(string)、数值(num
- <html><head><title>过滤空格</title><SCRIPT LANG
- Django中默认使用sqlite3数据库,今天研究了下如何将它换成常见的mysql数据库。由于项目用得python3,而MySQLdb没有
- 1.pickle 写: 以写方式打开一个文件描述符,调用pickle.dump把对象写进去 &
- 本文主要介绍了MySQL8.0.27安装过程中卡在Initializing Database中并报错的解决,具有一定的参考价值,具体如下:报
- 主要有以下步骤:1、人脸检测2、人脸预处理3、从收集的人脸训练机器学习算法4、人脸识别5、收尾工作人脸检测算法:基于Haar的脸部检测器的基
- <script language="javascript"><!-- var&n
- PyAutoGUI是一个Python语言的键鼠自动化库,简单来说和按键精灵的功能一样。但是因为是Python的类库,所以可以使用Python
- 1. vscode相关配置w3c school 手册: https://www.w3school.com.cn/html/inde
- 现在需要一个写文件方法,将selenium的脚本运行结果写入test_result.log文件中首先创建写入方法def write_resu
- 一、tensor加减乘除加法操作import torchx = torch.randn(2, 3)y = torch.randn(2, 3)
- 本文实例讲述了Symfony2实现从数据库获取数据的方法。分享给大家供大家参考,具体如下:假设有一张表:test, 字段:name,colo
- 运行环境:IIS脚本语言:VBScript数据库:Access/SQL Server数据库语言:SQL1.概要:不论是在论坛,还是新闻系统,
- 我们可以先建立一个包含文件名,文件标题的待检索文件的数据库,然后,用ADO方式来访问它,并建立记录集对象。具体代码和说明见下:
- system默认:managersys默认:change_on_install使用SQL Plus登录数据库时,system使用密码mana
- import "strconv"strconv 包实现了基本数据类型和其字符串表示的相互转换。string与int类型转
- 前言简单的爬虫只有一个进程、一个线程,因此称为单线程爬虫。单线程爬虫每次只访问一个页面,不能充分利用计算机的网络带宽。一个页面最多也就几百K
- 有的时候,一个 if … else … 还不够用。比如,根据年龄的划分:条件1:18岁或以上:adult条件2:6岁或以上:teenager
- 有时候我们的数据是按某个频率收集的,比如每日、每月、每15分钟,那么我们怎么产生对应频率的索引呢?pandas中的date_range可用于
- 目录合理的创建索引设置数据库持久连接减少SQL的执行次数仅获取需要的字段数据使用批量创建、更新和删除,不随意对结果排序参考网址:Django