正确配置和使用SQLmail

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
前段时间费了九牛二虎之力,终于搞掂了SQLmail的配置与使用。
_Rambo要我整理出来有关的文档大家共享。
我就把我配置SQLmail的过程描述一遍。

我用SQLmail主要是要完成这样的功能:
>用户在网上注册后,系统将随机产生的密码发送到用户登记的Email
>用户在论坛的帖子有回复时将内容发送到用户的Email
因为上述过程都是在存储过程中完成的,所以避免了前台程序对参数的
传输处理,也不需要再用第三方的组件完成,感觉比较方便。

1.为了使用SQLmail,首先你的服务器上得有SMTP服务,我没有安装win2000server自带的SMTP,而是用imail6.04的SMTP,感觉比较稳定,功能也比较强。
2.安装一个邮件系统,我安装了outLook2000,我发现在配置邮件profile时,如果
不安装outLook而是用别的第三方程序,win2k中文server版在控制面板中就找不到“邮件”一项.
3.安装完outlook后再刷新控制面板,就会找到“邮件”一项,双击进行邮件的配置,为配置文件起一个名字(假设为myProfile),以便以后SQLmail使用,在该配置文件中设置各项属性。
4.启动outlook(设置为用myProfile作为默认的配置文件),测试进行收发邮件,确认outlook工作正常。
5.用当前的域帐户启动SQLserver,在企业管理器的支持服务中,点击SQLmail的属性,可以看到在配置文件选择中,出现了刚才定义的myProfile配置文件(你也可以定义多个profile),选择这个配置文件进行测试,SQL将返回成功开始和结束一个MAPI会话的信息,如果出现错误或是没有找到邮件配置文件,那一定是你启动SQLserver用的帐号有问题
6.现在你就可以在查询分析器中用XP_sendmail这个扩展存储过程发送SQLmail了,格式如下:
  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查询所用的,默认为缺省数据库


7.不过,如果是在web应用中使用SQLmail,还有一些问题要解决:首先,就是应用程序中连接数据库的帐号,我在程序中的数据库连接是使用UDL文件,帐号为DbGuest,这是一个普通帐户,所以还必须在master库的扩展存储过程找到XP_sendmail,并在其属性中增加DbGuest这个用户,并选择EXEC权限。1 <script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
阅读更多
个人分类: 数据库
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭