首 页 网站运营 网络编程 网页制作 图象媒体 数据库 建站资源 网管专区 下载专区 最新资讯
IT学堂|红色黑客联盟
设为首页
加入收藏
联系站长
您所在的位置:首页>数据库>Mysql>文章内容
正确配置和使用SQL mail
来源: 作者: 发布时间:2007-04-13

前段时间费了九牛二虎之力,终于搞掂了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格式的邮件,如果你知道,请一定告诉我哟!




[推荐] [返回顶部] [打印本页] [关闭窗口]
热点文章
·用批处理对MySQL进行数据操作
·PHP中操作MySQL的一些要注意的问题
·实例讲解:.NET如何访问MySQL数据库
·让MySQL与ASP.NET配合更强大
·数据备份中可能出错的情况及解决办法
·SQL Server连接失败错误分析与排除(1)
·SQL Server连接失败错误分析与排除(2)
·扩展微软 SQL Server 的空间功能
·了解MYSQL数据库调度与锁定的问题
·实例讲解MySQL数据库的查询优化技术
相关文章
·自定义用于ASP Web站点的SQL 7.0数据
·SQL Server 7.0数据库的六种数据移动
·自定义用于ASP Web站点的SQL 7.0数据
·数据库查询结果的动态排序(2)
·使用SQL Server 将现有代码作为Web 服
·数据库查询结果的动态排序(1)
·通过HTTP访问SQL Server 2000数据库
·数据库查询结果的动态排序(3)
·Oracle SQL语句优化技术分析
·数据库查询结果的动态排序(4)
文章检索
Google
相关文章
·自定义用于ASP Web站点
·SQL Server 7.0数据库的
·自定义用于ASP Web站点
·数据库查询结果的动态排
·使用SQL Server 将现有
·数据库查询结果的动态排
·通过HTTP访问SQL Server
·数据库查询结果的动态排
·Oracle SQL语句优化技术
·数据库查询结果的动态排
·翻页的存储过程
·数据库查询结果的动态排
·SqlServer2000中用户自
·当SQL Server数据库崩溃
·在SQLSERVER里写了一个S