学院首页>网络编程>SQL Server>使用SQL Mail收发和自动处理邮件

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

作者:未知 来源:- 添加时间:2006-5-21 10:58: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’] 


其中@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’] 
站内搜索