您的位置:首页技术开发数据库技巧 → 正确配置和使用SQL mail

正确配置和使用SQL mail

时间:2004/12/2 0:58:00来源:本站整理作者:蓝点我要评论(0)

前段时间费了九牛二虎之力,终于搞掂了SQL mail的配置与使用。

_Rambo要我整理出来有关的文档大家共享。

我就把我配置SQL mail的过程描述一遍。



我用SQL mail主要是要完成这样的功能:

>用户在网上注册后,系统将随机产生的密码发送到用户登记的Email

>用户在论坛的帖子有回复时将内容发送到用户的Email

因为上述过程都是在存储过程中完成的,所以避免了前台程序对参数的

传输处理,也不需要再用第三方的组件完成,感觉比较方便。



1.为了使用SQL mail,首先你的服务器上得有SMTP服务,我没有安装win2000 server自带的SMTP,而是用imail6.04的SMTP,感觉比较稳定,功能也比较强。

2.安装一个邮件系统,我安装了outLook 2000,我发现在配置邮件profile时,如果

不安装outLook而是用别的第三方程序,win2k中文server版在控制面板中就找不到“邮件”一项.

3.安装完outlook后再刷新控制面板,就会找到“邮件”一项,双击进行邮件的配置,为配置文件起一个名字(假设为myProfile),以便以后SQL mail使用,在该配置文件中设置各项属性。

4.启动outlook(设置为用myProfile作为默认的配置文件),测试进行收发邮件,确认outlook工作正常。

5.用当前的域帐户启动SQL server,在企业管理器的支持服务中,点击SQL mail的属性,可以看到在配置文件选择中,出现了刚才定义的myProfile配置文件(你也可以定义多个profile),选择这个配置文件进行测试,SQL将返回成功开始和结束一个MAPI会话的信息,如果出现错误或是没有找到邮件配置文件,那一定是你启动SQL server用的帐号有问题

6.现在你就可以在查询分析器中用XP_sendmail这个扩展存储过程发送SQL mail了,格式如下:

    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应用中使用SQL mail,还有一些问题要解决:首先,就是应用程序中连接数据库的帐号,我在网站程序中的数据库连接是使用UDL文件,帐号为DbGuest,这是一个普通帐户,所以还必须在master库的扩展存储过程找到XP_sendmail,并在其属性中增加DbGuest这个用户,并选择EXEC权限。

好了,现在设置完毕,运行网站程序,测试用户注册,几乎没有什么延迟,我测试用的邮箱中就收到了这封SQL mail发出的Email:  

"谢谢你的注册,你的用户名是 [心歌],密码是 123456789,建议你首次登录后修改密码"



大功告成!看起来很简单的过程,却折腾了我一个星期!希望你能比我顺利.



不过,现在虽然能用SQLmail发送附件,附加数据库查询结果,但是我还没有发现有什么办法用SQLmail发送html格式的邮件,如果你知道,请一定告诉我哟!




相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 mssql企业管理器不能打 Oracle PRKC-1002错误原因和解决方案SQL SERVER数据库日志清空图文教程win2003计算机改名后sql server 2005 本地复DB2错误信息码大全

人气排行 彻底解决mysql中文乱码的办法mysql数据库root密码忘记的修改方法SQL SERVER数据库日志清空图文教程.bak备份文件如何恢复Oracle PRKC-1002错误原因和解决方案Oracle错误代码大全如何将txt的文本数据导入SQL server 2005呢DB2错误信息码大全