使用SQL Mail收发和自动处理邮件中的扩展存储过程简介

2016-01-29 16:26 5 1 收藏

使用SQL Mail收发和自动处理邮件中的扩展存储过程简介,使用SQL Mail收发和自动处理邮件中的扩展存储过程简介

【 tulaoshi.com - SQLServer 】

 

使用SQL Mail收发和自动处理邮件中的扩展存储过程简介

SQL SERVER提供了通过EXCHANGE或OUTLOOK收发邮件的扩展存储过程,下面将这几个过程简单的介绍一下。

一、启动SQL Mail

xp_startmail @user,@password

@user和@password都是可选的

也可打开Enterprise Manager中的Support Services,在SQL Mail上单击右键打开右键菜单,然后按Start来启动

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/sqlserver/)

二、停止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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/sqlserver/)

其中@recipients是必需的

参数说明:

参数 说明
@recipients 收件人,中间用逗号分开
@message 要发送的信息
@query 确定执行并依附邮件的有效查询,除触发器中的插入表及删除表外,此查询能引用任何对象
@attachments 附件
@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]]

参数说明:

参数 说明
@originator 发件人
@subject 主题
@message 信息
@recipients 收件人
@skip_tytes 读取邮件信息时跳过的字节数,用于顺序获取邮件信息段。
@msg_length 确定所有信息的长度,通常与@skip_bytes一起处理长信息

五、顺序处理下一个邮件

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

 

来源:https://www.tulaoshi.com/n/20160129/1498585.html

延伸阅读
环境:win2k+sqlserver 2K+查询分析器 SQLSERVER服务实例名称:mainserver 需要备份的数据库名称: msdb 本地机器名称(Client端):david 本地用户:zf 密码:123 本地域名:domain 本地提供备份需求的文件夹:e:est 第一步: 建立共享文件夹 在程序代码中调用(或者CMD窗口) net share tes...
-- ====================================================== --列出SQL SERVER 所有表,字段名,主键,类型,长度,小数位数等信息 --在查询分析器里运行即可,可以生成一个表,导出到EXCEL中 -- ====================================================== SELECT (case when a.colorder=1 then d.name else '...
标签: Web开发
CREATE PROC myx_prPageRecordset @queryStr nvarchar(1000),  @keyField nvarchar (200),  @pageSize int,  @pageNumber int  AS BEGIN DECLARE @sqlText AS nvarchar(4000) DECLARE @sqlTable AS nvarchar(4000) SET @sqlTable =&n...
标签: SQLServer
前言 一直用ASP+ACCESS来编写网页和公司的内部应用系统,内部应用系统也就是大家说的OA吧,这个我也不知道,公司又叫它ERP,反正不管什么,它是用来帮助公司处理日常工作的,简化劳动的.从来没用过存储过程,所有的添加,删除,修改都是在ASP里面写程序执行,代码很多.数据量少的时候没什么感觉,挺快的,可等到数据量大的时候,上W条记录查询,尤其是不...
近日在写一个扩展存储过程时,发现再写这类动态库时,还是有一些需要特别注意的地方。之所以会特别注意,是因为DLL运行于SQL Server的地址空间,而SQL Server到底是怎么进行线程调度的,却不是我们能了解的,即便了解也无法控制。 我们写动态库一般是自己用,即便给别人用,也很少像SQL Server这样,一个动态库很有可能加载多次,并且...

经验教程

902

收藏

79
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部