仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 780|回复: 7
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之SQL Server中发送邮件的新体例

[复制链接]
爱飞 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:33:19 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
MySQL这个名字是怎么来的已经不清楚了。基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQLAB创始人之一的的女儿也叫My。server|发送邮件
说是新体例,实在也是早就用到的手艺了,以是放下去!

在.NET中,人人晓得,可使用System.Web.Mail来发送邮件。在Framework1.1下撑持考证。

privatevoidPage_Load(objectsender,System.EventArgse)
{
MailMessagemail=newMailMessage();
mail.To="me@mycompany.com";
mail.From="you@yourcompany.com";
mail.Subject="thisisatestemail.";
mail.Body="Sometextgoeshere";
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1");//basicauthentication
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername","my_username_here");//setyourusernamehere
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword","super_secret");//setyourpasswordhere

SmtpMail.SmtpServer="mail.mycompany.com";//yourrealservergoeshere
SmtpMail.Send(mail);
}

之前我曾写过在.NET下发送邮件的办法,详见:

http://dev.csdn.net/develop/article/17/17189.shtm



SQLServer中,我们一样平常利用SQL自己的邮件发送体例,但必要设置ExchageServer、Outlook等,也是一个对照烦琐的事变。良多人埋怨说设置不乐成。

实在,我们能够在SQLServer中创立OLE工具实例,挪用IISSMTP自带的发送组件来完成邮件发送。

我们创建这个存储历程,你必要修正的中央是,SmtpServer的名字

CreatePROCEDUREsys_sendmail@Fromvarchar(100),@Tovarchar(100),@Bccvarchar(500),@Subjectvarchar(400)="",@Bodyntext=""

AS

Declare@objectint
Declare@hrint

EXEC@hr=sp_OACreateCDO.Message,@objectOUT

EXEC@hr=sp_OASetProperty@object,Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusing").Value,2
EXEC@hr=sp_OASetProperty@object,Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value,smtp.163.com

--上面三条语句是smtp考证,假如服务器必要考证,则必需要这三句,你必要修正用户名和暗码
EXEC@hr=sp_OASetProperty@object,Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value,1
EXEC@hr=sp_OASetProperty@object,Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusername").Value,lihonggen0
EXEC@hr=sp_OASetProperty@object,Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value,xxx

EXEC@hr=sp_OAMethod@object,Configuration.Fields.Update,null
EXEC@hr=sp_OASetProperty@object,To,@To
EXEC@hr=sp_OASetProperty@object,Bcc,@Bcc
EXEC@hr=sp_OASetProperty@object,From,@From
EXEC@hr=sp_OASetProperty@object,Subject,@Subject

EXEC@hr=sp_OASetProperty@object,TextBody,@Body
EXEC@hr=sp_OAMethod@object,Send,NULL

--判别堕落
IF@hr0
BEGIN
EXECsp_OAGetErrorInfo@object
RETURN@object
END
PRINTsuccess
EXEC@hr=sp_OADestroy@object

GO

注重:必需确保安装Smtp,能够会见CDO工具。
对于update操作,只需要把event中的旧行和新行值对调即可。
小妖女 该用户已被删除
8#
发表于 2015-3-13 23:09:30 | 只看该作者
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
活着的死人 该用户已被删除
7#
发表于 2015-3-7 00:09:42 | 只看该作者
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
变相怪杰 该用户已被删除
6#
发表于 2015-2-22 10:48:21 | 只看该作者
不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?
admin 该用户已被删除
5#
发表于 2015-2-7 15:00:17 | 只看该作者
不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关
飘灵儿 该用户已被删除
地板
发表于 2015-2-1 19:35:15 | 只看该作者
至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。
老尸 该用户已被删除
板凳
发表于 2015-1-24 15:27:04 | 只看该作者
每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。
精灵巫婆 该用户已被删除
沙发
发表于 2015-1-19 16:26:51 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 04:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表