首页 新闻 赞助 找找看

求一个发送邮件的。net组件。(jmail除外)

0
悬赏园豆:20 [已解决问题] 解决于 2008-11-13 11:07

要方便又好用。

tks。

问题补充: 因为Jmail或者手写smtp,有时候程序提交成功,但不一定可以把邮件发出去。我需要的是一个可靠的东西。
West的主页 West | 小虾三级 | 园豆:1095
提问于:2008-11-12 16:04
< >
分享
最佳答案
0

System.Net.Mail.SmtpClient

不止可以发邮件,而且可以获得状态返回,可以确切的知道邮件是否发送成功,如果没有成功是原因导致的,很好用啊

System.Net.Mail.SmtpClient发送后有一个状态值返回,具体看可以去百度一下“SMTP状态码”
至于对方收不到,这个不是你这边能够控制的,如果你成功发送了对方还收不到,一般都是被对方信箱给过滤掉了,现在信息过滤垃圾邮件很厉害,群发的邮件非常有可能被过滤掉,而且发送次数多了之后,你的服务器IP可能被加入黑名单,以后对方就再也收不到了

总之,你可以通过SMTP判断发送状态,如果SMTP返回状态是发送成功,那么其他的事不是你能够控制的

PS:频率太快会被封,比如往a@163.com/b@163.com/c@163.com这三个地址一分钟内分别发3封信,那么网易将认为你一分钟给他发了9封信,被封掉的可能性会变得很大,尤其当你要发的地址里有成百上千个163信箱地址时,基本上可以确定除了前几封,别的一概收不到,而且下次再发估计也不可能有人收到了,所以建议做了队列,控制一下发送频率,这个频率不好搞,一般1分钟3封没什么问题,5以上危险,动态值,无法确定

丁学 | 专家六级 |园豆:18730 | 2008-11-12 16:30
其他回答(3)
0

net framework 2.0自带的System.Net.Mail.SmtpClient

andy.wu | 园豆:225 (菜鸟二级) | 2008-11-12 16:12
0
Astar | 园豆:40805 (高人七级) | 2008-11-12 17:09
0

我们用过jmail 倒没有发现这个问题

丁学说的被封是一个大问题

张荣华 | 园豆:2020 (老鸟四级) | 2008-11-13 09:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册