浅谈如何利用配置方式配置SMTP发送邮件.doc_第1页
浅谈如何利用配置方式配置SMTP发送邮件.doc_第2页
浅谈如何利用配置方式配置SMTP发送邮件.doc_第3页
浅谈如何利用配置方式配置SMTP发送邮件.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浅谈如何利用配置方式配置SMTP发送邮件做多了网站平台,系统的人,都会或多或少遇到需要发送邮件这样的需求.前几天在做一个企业黄页平台,也用到了邮件发送这一块.但是担心有分站,又不想把SMTP直接写进code里,这样,修改起来太麻烦了有的都是放在数据库里但是,数据库里配置SMTP又有一点大材小用了有多少人的网站会有多个SMTP服务器呢?后来用了web.config里面的自定义配置节.分享一下我的实现方式首先,在web.configconfigurationconfigSections增加一个自定义配置节的声明。1然后,我们去web.configconfiguration增加这个自定义配置声明的具体实现参数。129我们在项目里建立一个叫SmtpSectionConfig的类别忘记,我们先把System.Configuration这个程序集引用进来。然后才能引用它的命名空间1usingSystem.Configuration;2namespaceSmSoft.Smtp34publicclassSmtpSectionConfig:ConfigurationSection56ConfigurationProperty(Default)7publicDefaultSmtpDefault89get1011return(DefaultSmtp)thisDefault;1213141516/可以增加几个其它用处的smtp1718有人要问了,DefaultSmtp它是什么?呵呵我们需要为具体的Smtp增加一个配置元素我们现在就增加一个DefaultSmtp类1namespaceSmSoft.Smtp23publicclassDefaultSmtp:ConfigurationElement45publicDefaultSmtp()6:base()78this._Initialized=false;91011ConfigurationProperty(SiteName)12publicstringSiteName1314get1516varo=thisSiteName;17if(o!=null)18returno.ToString();19else20returnstring.Empty;21222324ConfigurationProperty(Server)25publicstringServer2627get2829varo=thisServer;30if(o!=null)31returno.ToString();32else33returnstring.Empty;34353637ConfigurationProperty(Username)38publicstringUsername3940get4142varo=thisUsername;43if(o!=null)44returno.ToString();45else46returnstring.Empty;47484950ConfigurationProperty(Password)51publicstringPassword5253get5455varo=thisPassword;56if(o!=null)57returno.ToString();58else59returnstring.Empty;60616263ConfigurationProperty(SSL)64publicboolSSL6566get6768varo=thisSSL;69if(o!=null)70returno.ToString().ToLower()=true;71else72returnfalse;73747576ConfigurationProperty(Port)77publicintPort7879get8081varo=thisPort;82varp=25;83if(o=null)84returnp;85else8687int.TryParse(o.ToString(),outp);88returnp;899091929394privateSmtpClient_Smtp;95privateBoolean_Initialized;9697publicboolSend(MailMessageMsg)9899if(this._Initialized=false)100returnfalse;101this._Smtp.Send(Msg);102returntrue;103104105publicvoidInit()106107this._Smtp=newSmtpClient(this.Server,this.Port);108this._Smtp.UseDefaultCredentials=true;109this._Smtp.DeliveryMethod=SmtpDeliveryMethod.Network;110this._Smtp.Credentials=newNetworkCredential()111112Password=this.Password,113UserName=this.Username114;115this._Smtp.EnableSsl=this.SSL;116this._Initialized=true;117118119同样,因为用到了ConfigurationEelement,我们需要增加System.Configuration的引用我们在增加一个用来发送邮件的快捷方法,就大功告成了。1namespaceSmSoft.Smtp23publicclassMailHelper45privatestaticDefaultSmtp_SmtpServer;6staticMailHelper()78try910varsmtp=(SmtpSectionConfig)ConfigurationManager.GetSection(Smtp);11_SmtpServer=smtp.Default;12_SmtpServer.Init();1314catch1516thrownewException(请配置Smpt邮件发送配置节);171819publicstaticBooleanSend(StringEmail,StringMsg)2021MailMessageMessage=newMailMessage(newMailAddress(_SmtpServer.Username,_SmtpServer.SiteName,Encoding.GetEncoding(UTF-8),newMailAddress(Email);22Message.Body=Msg;23Message.BodyEncoding=Encoding.GetEncoding(UTF-8);24Message.IsBodyHtml=true;25Message.Priority=MailPriority.Normal;26Message.Subject=主题;27Message.SubjectEncoding=Encoding.GetEncoding(UTF-8);28_SmtpServer.Send(Message);29returntrue;30313233varsmtp=(SmtpSectionConfig)ConfigurationManager.GetSection

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论