ASP.NET网页编程之使用OpenSmtp.Net发送必要smtp考证的邮...
我见过java运行在手机上,包括很廉价的山寨手机,但是却暂时没发现.net在手机上有什么作为。wp7可能是个转机,但是按照《Java的跨平台就是一句谎言。那.net的跨平台也当之无愧是一句谎言。smtp 1.弁言下周,必要做一个发送电子邮件的模块,磨刀不误砍柴工,周末在家里先做了一下测试,微软在,net1.1中有System.Web.Mail空间,这个定名空间下能够发送不带smtp考证的电子邮件,不外如今收集上很少再有不必要smtp考证的,以是这个定名空间下的类应当算是对照鸡肋。因而找到opensmtp.net这个开源项目,这个项目标admin是园子内里的"我得女儿好大度",朴拙感激一下。
2.本文主旨
本文并非先容openmail.net的利用办法,该开源项目是一个十分正轨的项目,它本人具有具体的文档和利用办法。本文次要论述再利用OpenMail大概.net2.0内里的SmtpClient的时分大概碰到的成绩,这个成绩跟你的运转情况有干系,假如你刚巧碰到如许成绩的时分,网上相干材料也对照少。我鄙人面就形貌一下我碰到的成绩和归结出来的办理举措
3、在利用OpenMail大概SmtpClient中大概碰到的成绩
1)在发送电子邮件的时分,提醒“您主机中的软件保持已创建的毗连”
这个是我碰到的最为头疼的成绩,由于他今天早晨调到12点,弄的我差点没疯失落。后来,我晓得必定是防火墙引发的成绩,可是我把当地WindowsXP内置防火墙封闭以后,成绩仍旧。可是不管我是不是封闭防火墙,outlook都能一般吸收和发送电子邮件,我用的是smtp.126.com,我间接telnetsmtp.126.com25大概在软件中TcpClientclient=newTcpClient("smtp.126.com",25);都提醒没法毗连。而outlook却能发送邮件,我netstat-n,本机与smtp.126.com25端口的tcp毗连在outlook发送电子邮件的时分也创建了,但为何outlook能创建毗连,我的软件大概telnet为什么不克不及?怎样能让我的软件和telnet能毗连smtp服务器的25端口?
2)第一个成绩实在让我华侈了良多工夫,并且华侈了n多脑细胞,不外还好终究办理了,第二个成绩是在发送电子邮件的时分,邮件的注释发生乱麻的成绩,这个成绩我看网上有人在问,不外很好办理。
4.办理成绩的步骤和办法,和履历教导
1)关于第一个成绩,我切实其实犯了一个偏向性的毛病,那就是我封闭了本机防火墙以后,我毛病的以为招致我不克不及一般毗连smtp服务器的缘故原由在于smtp服务真个防火墙,并且我当地outlook能一般发送邮件极年夜的误导了我的思绪,我毛病的义务,outlook能发送,那末暗示数据必定能从我当地进来。毛病只能呈现在服务端,我料想大概outlook有特别的手艺能穿透smtp服务器的防火墙,可是我查阅了穿透防火墙的手艺,假如要防火墙,一样平常的做法是HttpChannel,实在http哀求自己不克不及穿透防火墙,可是一样平常防火墙不制止对80端口的毗连,smtp.126.com的80端口确也是封闭的。如许的思绪招致我在毛病的偏向用了良多功。
明天凌晨起来,我决意换个思绪看看,我把当地防火墙关失落,仍是不可,厥后我看到了我的macfee,是否是这厮弄得鬼那,我翻开virtusScanConsole,o,mygod,内里切实其实有一项On-DeliveryE-MailScanner,我封闭它,发明仍是不可,我有点扫兴了,不外还不宁愿,再找,终究又发明了,在AccessProtection内里,有一个portstoblock,内里有25端口,日记文件保留在"AccessProtectionLog.txt",翻开文件后有很多失利纪录,往失落25端口堵塞,克制On-DeliveryE-MailScanner,成绩办理
2)关于第二个成绩,只必要变动编码就能够了,在openmail.net内里设置MailMessage.CharSet,假如在中国,设置"gb2312"一样平常能够办理这个成绩
5.结论
经由两天的调试和思索,办理的不是一个很年夜的成绩,可是我也从中取得了一个教导,思索成绩,必定要天真,不要太甚于流动化,好比我毛病的以为是对方防火墙的成绩,并且这类思绪被我错位的保持了好久,实在在我们不克不及很好的办理一个成绩的时分,与其费力头脑,不如反过去想一想。
效率会有不少的变化。而实际上java是基于堆栈机器来设计,这和我们常见的基于寄存器的本地机器是差异比较大的。总体来说,这是一种虚拟机的设计思路。 ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。 使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。 如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。 对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。 大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。 由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。 ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。
页:
[1]