散分两百,讨论一下高发送量邮件服务方案的设计

skyaspnet 2010-06-21 04:39:05
相信大家都使用过博客园的评论功能,当有新评论时,

服务器会发送邮件给参加了对应评论的用户发送提醒邮件,

问题出来了,当评论量比较大的时候,相应邮件的发送量也会比较大,

有种最简单的方案,就是定时取邮件进行发送,但是这是有数据量限制的,


例如:每隔十秒发一封邮件的话,一天最多只可以发送 24*60*60/10=8640封邮件,

稍大点的发送量都要远远大于8640,估计应该不是这种解决方案。


那么在大型网站应用中如果需要发送大量的邮件的话,有没有比较好的解决方案?

请教各位大侠,谢谢!
...全文
118 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
理不完的逻辑 2010-06-21
  • 打赏
  • 举报
回复
友情帮顶~!
qiqishardgel 2010-06-21
  • 打赏
  • 举报
回复
帮顶!
skyaspnet 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 shaily 的回复:]
你使用了单线程同步发送邮件的方法,肯定效率很低。

两个方法可以助你,
1,使用多线程发送。
2,使用异步发送。
[/Quote]

很不错,谢谢!
-小蕾- 2010-06-21
  • 打赏
  • 举报
回复
帮顶。。。学习中!
skyaspnet 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 guyehanxinlei 的回复:]
使用专门的Exchange 服务来发送邮件
[/Quote]

请教
skyaspnet 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hdt 的回复:]
邮件里面有 cc,可以一次性发送到大量的用户
还有不要利用jmail 或 .net 邮件组组件
直接用socket多线程,连邮件服务器250 断口 ,像你说的那种情况一般不会有附件,只是一些文本,那用的了10秒钟一封,基本可以达到一秒几封,可以作下测试。
[/Quote]

邮件的CC指的是批量发送?.NET自带的功能?谢谢!

另外邮件不确定,很多都是会有附件的,所以还要考虑到网络传输等问题
shaily 2010-06-21
  • 打赏
  • 举报
回复
你使用了单线程同步发送邮件的方法,肯定效率很低。

两个方法可以助你,
1,使用多线程发送。
2,使用异步发送。
灵雨飘零 2010-06-21
  • 打赏
  • 举报
回复
帮顶
myhope88 2010-06-21
  • 打赏
  • 举报
回复
感觉架设台服务器进行发送会比较好吧
xiangzhanyou 2010-06-21
  • 打赏
  • 举报
回复
记号ing.......
  • 打赏
  • 举报
回复
[Quote=引用楼主 skyaspnet 的回复:]
相信大家都使用过博客园的评论功能,当有新评论时,

服务器会发送邮件给参加了对应评论的用户发送提醒邮件,

问题出来了,当评论量比较大的时候,相应邮件的发送量也会比较大,

有种最简单的方案,就是定时取邮件进行发送,但是这是有数据量限制的,


例如:每隔十秒发一封邮件的话,一天最多只可以发送 24*60*60/10=8640封邮件,

稍大点的发送量都要远远大于8640,估……
[/Quote]

发送给参与评论的的人,这是极低的“发送量”!

此外,如果邮件发送服务在本地,那么所谓发送不过是把邮件放入磁盘,跟网络通讯无关,瞬间可以“发送”大批邮件。因为邮件服务功能自己会慢慢发送。
xiaogangqq123456 2010-06-21
  • 打赏
  • 举报
回复
每隔十秒发送一封???

为什么要发送一封?


我可以每隔十秒发送多封啊...
xiekai12342010 2010-06-21
  • 打赏
  • 举报
回复
不懂!关注中
xiaogangqq123456 2010-06-21
  • 打赏
  • 举报
回复
LZ想多了..

自己架设个服务器..队列发送.. 一天几万封没问题..
真相重于对错 2010-06-21
  • 打赏
  • 举报
回复
邮件里面有 cc,可以一次性发送到大量的用户
还有不要利用jmail 或 .net 邮件组组件
直接用socket多线程,连邮件服务器250 断口 ,像你说的那种情况一般不会有附件,只是一些文本,那用的了10秒钟一封,基本可以达到一秒几封,可以作下测试。
guyehanxinlei 2010-06-21
  • 打赏
  • 举报
回复
使用专门的Exchange 服务来发送邮件
adu_ado 2010-06-21
  • 打赏
  • 举报
回复
帮顶下
bojiansky 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mayanly 的回复:]
不懂!洗耳恭听
[/Quote]
++
mayanly 2010-06-21
  • 打赏
  • 举报
回复
不懂!洗耳恭听
skyaspnet 2010-06-21
  • 打赏
  • 举报
回复
PS:最简单的方案例如使用WINDOWS服务来完成,或者在GLOBAL.ASAX里使用TIMER定时器来完成
加载更多回复(1)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧