All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
运行asp.net服务器权限设置的6个问题_[Asp.Net教程]
使用html表格和CSS进行混合网页设计_[Html教程]
一组,ASP.NET,2.0,主题文件下载_[Asp.Net教程]
《Effective,C#》:用委托实现回调_[Asp.Net教程]
让SQL Server为工作负载高峰提前做好准备_[SQL Server教程]
微软.Net开发中的多线程编程总结_[Asp.Net教程]
char、varchar、text和nchar、nvarchar、ntext的区别_[SQL Server教程]
从小处看C#.net垃圾回收_.net资料_编程技术
ASP.NET的一个简单的数据操作类_[Asp.Net教程]
Asp.net,弹出对话框基类,(输出alet警告框)_[Asp.Net教程]
Reading number is top 10 pictures
Ashlynn Brooke photograph of a group4
Female model behind the bitterness, often being overcharged4
运动的范冰冰2
美女浴室写真1
A resort photographed beautiful young woman change clothes process vomiting blood1
你白吃了多少药
So beauty, will let you spray blood5
mythology hero1
世界五大海盗
Fierce chengdu woman, street rape man
Download software ranking
传奇私服架设教程
Unix video tutorial15
Unix video tutorial8
Tram sex maniac 2 (H) rar bag14
Boxer's Top ten classic battle5
Love the forty days
The hero
jdk1.6 for windows
致我们终将逝去的青春
VC++6.0简体中文版
delv published in(发表于) 2014/1/10 6:30:49 Edit(编辑)
利用OpenSmtp.Net发送需要smtp验证的邮件_[Asp.Net教程]

利用OpenSmtp.Net发送需要smtp验证的邮件_[Asp.Net教程]

利用OpenSmtp.Net发送需要smtp验证的邮件_[Asp.Net教程]

1.引言

下周,需要做一个发送电子邮件的模块,磨刀不误砍柴工,周末在家里先做了一下测试,微软在,net1.1中有System.Web.Mail空间,这个命名空间下可以发送不带smtp验证的电子邮件,不过现在网络上很少再有不需要smtp验证的,所以这个命名空间下的类应该算是比较鸡肋。 于是找到opensmtp.net这个开源项目,这个项目的admin是园子里面的"我得女儿好漂亮",真诚感谢一下。


  2.本文宗旨


本文并不是介绍openmail.net的使用方法,该开源项目是一个非常正规的项目,它自己具有详细的文档和使用方法。本文主要阐述再使用OpenMail或者.net 2.0里面的SmtpClient的时候可能遇到的问题,这个问题跟你的运行环境有关系,如果你恰巧遇到这样问题的时候,网上相关资料也比较少。我在下面就描述一下我遇到的问题以及归纳出来的解决办法


  3、在使用OpenMail或者SmtpClient中可能遇到的问题


1)在发送电子邮件的时候,提示“您主机中的软件放弃已经建立的连接”


这个是我遇到的最为头疼的问题,因为他昨天晚上调到12点,搞的我差点没疯掉。起初,我知道一定是防火墙引起的问题,但是我把本地Windows XP内置防火墙关闭之后,问题依旧。但是无论我是否关闭防火墙,outlook都能正常接收和发送电子邮件,我用的是smtp.126.com,我直接telnet smtp.126.com 25或者在软件中TcpClient client = new TcpClient("smtp.126.com",25);都提示无法连接。而outlook却能发送邮件,我netstat -n ,本机与smtp.126.com 25端口的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,是不是这厮搞得鬼那,我打开virtusScan Console,o,my god,里面的确有一项On-Delivery E-Mail Scanner ,我关闭它,发现还是不行,我有点失望了,不过还不甘心,再找,终于又发现了,在Access Protection里面,有一个ports to block,里面有25端口,日志文件保存在"AccessProtectionLog.txt",打开文件后有许多失败记录,去掉25端口阻塞,禁止On-Delivery E-Mail Scanner ,问题解决


  2) 对于第二个问题,只需要更改编码就可以了,在openmail.net里面设置MailMessage.CharSet,如果在中国,设置"gb2312"一般可以解决这个问题


  5.结论


经过两天的调试和思考,解决的不是一个很大的问题,但是我也从中获得了一个教训,思考问题,一定要灵活,不要太过于固定化,比如我错误的认为是对方防火墙的问题,而且这种思路被我错位的坚持了很久,其实在我们不能很好的解决一个问题的时候,与其费劲脑筋,不如反过来想想。


来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.