常州网络公司首页 >>> WINDOWS >> 数据库服务器

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

发布时间:2008-9-10 21:47:48   浏览次数:3689

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

如何利用SQL Server发送邮件? 

 

在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服务器启动出现"由于登录失败而无法启动服务"
下一条:SQL Server服务器里最好去掉的危险扩展存储过程
首页 | 在线留言 | 网站地图

CopyRight ©2008-2014   糊涂蛋技术网    苏ICP备05013073号
站长:万创   QQ:54960248  E-mail:xlxcn#126.com