asp.net中发邮件

  最近一个星期一直在做公司分配的注册成功发送邮件的功能,由于我以前没接触过这个功能,所以我就从网上查了好多的资料来完成这个功能,忙了一上午发现c#提供了专门的类来完成他,感觉也不是很难的。来回折腾了一会之后就可以发送了。我还以为万事大吉了,可是公司用的是GMail的企业邮箱,不刁对我做的这个发送邮件的代码。最后我又查啊查最后终于让我查到是端口的问题,原来GMail的发送邮件的端口即SMTP端口号不是一般默认的,是465(Google上说的),可我在网上查了之后发现不行,查了之后发现原来是587.这下终于好了。可在我提交的时候,组长又觉的太慢了。确实是的,因为注册成功之后还要给用户所填的Email发送邮件,也就是说,注册成功的提示在发送完邮件之后,本来这就有了2部操作,1是想数据库插入新用户,2是向用户的Email发送邮件,又因为公司的邮箱是向Google申请企业邮箱,服务器不再本地,这样算下来,应该很慢。最后测试之后发现,竟然要8秒这么长。这当然是不行的,组长让我再想想办法。并建议我试试JMail和多线程试试,我想多线程应该可以,就是注册和发送邮件分开,注册成功就提示,而发送邮件在另一个线程走。这样就会让客户感觉到快。但我对线程不了解,所以还是先试了试JMail。折腾了一上午163,126的可以发了,但是Gmail的又发不了。原因有2:

1:Mail的smtp要求SSL的安全链接,而Jmail不支持SSL安全链接,这使它根本不可能使用GMail的smtp服务。

2:Mail的smtp端口号不是25是465Jmail的发信端口默认是25,所以想用Jmail组件通过Gmail邮箱的可能性就不大了。

所以最后还是放弃了

  但是我突然想到如果用自己公司架设的EMail的服务器的话岂不更好,速度一定更快的。于是我问 了问有没有,果然有。但是他是这样的:
POP,SMTP地址:p.cn
账号:p@p.cn

而且没有Web地址,只能用Foxmail和Out Look等类似的软件登陆。而且设置上也不一样,如下所示:

接受邮件服务器:p.cn

发送邮件服务器:p.cn

默认是这样的:

接受邮件服务器:pop3.p.cn

发送邮件服务器:smtp.p.cn

一定要记得把他们去掉哦!

呵呵!其他的就一样了。而发送的c#代码也是最基本的。一测试速度快,而且不管是126,163的还是GMail的都可以。但是不知道为什么qq.com不行。我想是qq.com的设置的问题。我再改改应该可以的。

  好了,先这样吧,如果发现什么还会再写的!呵呵

原文地址:https://www.cnblogs.com/lin714115/p/lin714115.html