学习日记

正在关注 Linux 、开源的个人博客。

首页 | 留言本 | 标签云 | 网站地图 | 美味书签 | Learning Diary | 登录 |

增加订阅邮件设计方案

2004年11月24日 下午 7:36 | 作者:raorao

参考了大兴的意见

http://www.learndiary.com/disDiaryContentAction.do?goalID=33

http://www.learndiary.com/disDiaryContentAction.do?goalID=67

增加订阅邮件的功能分析设计如下:

(1)把订阅的链接放在“显示目标内容” 这个页面上,功能为设计两个:”订阅目标” “退订目标”

(2)保存订阅信息: 在数据库中单独建一个表(名为usermailgoal)保存“用户ID—目标ID”的订阅关系,涉及到的属性还有订阅的时间,如果用户退订了,则在数据库中删除这条记录;

(3)用户提交日记:用户提交日记后,一方面把日记存入数据库,另一方面则向订阅了对应目标的用户发出电子邮件;过程应该是这样的: 以目标ID为关键搜索usermailgoal表,搜索到用户ID,再根据用户ID得到对应的邮件地址,生成发送邮件地址列表,这样就可以把邮件 发出去了;然后,把发送情况告知写日记的用户,再按原来的流程回到日记列表页面;

第(3)个是大兴的意见,我个人的设计是这样的: 用户提交日记后,把日记存入数据库后就回到日记列表页面,发出电子邮件则由后台线程来处理,而不是等到邮件发出去了才回到日记列表页面,因为如果要发送很多,例如十几到几十封邮件(即使是只有几封)都是很费时的,这样用户会觉得系统得很慢,另外发送邮件过程对于用户来讲透明为好,如果想知道给哪些人发了邮件,则可通过”检索”看哪些用户订阅了这个目标.发送情况如有错误则写入错误日志文件.  

请大家多提意见.

版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

相关日记

随机日记

添加到网摘

[del.icio.us]  [新浪 VIVI]  [365key]  [YouNote]  [博采中心]  [Poco]  [SOHU狐摘]  [天极网摘]  [和讯网摘] 

评论(3条评论)

  1.    一直没有机会看看邮件服务怎么作!请问邮件服务用什么做,能不能把您做的这一块,在作的时候,留下日记,让我们好有个学习的机会! 

       对发送邮件我赞成放在后台,其实很多邮件服务并不是及时发送的,如果不是很比须得花,完全应该放在服务器服务空闲时,一般在午夜,凌晨自动启动服务发送。

  2.     我还不知道邮件服务器有linzc说的那种延迟发送的情况呢。 

        在java里,有一个javamail的东西可以方便的制作邮件系统,不只是发送。支持javamail需要两个包:mail.jar和activation.jar,可以在sun的网站下载。

        非常赞同raorao发送邮件运用多线程处理的思路。我还没有尝试过多线程呢。作为性能的对比,也可以两种方式都试一下,可以以开发小组的邮件列表来试,我想大家会理解的。把试验的结果也可以写个简单的报告出来,供大家参考学习。

        但是,我觉得让用户去检索订阅目标的设计有待进一步考虑。软件设计应以人为本,我个人觉得这样设计

    用户有点不方便。可以在日记存入数据库后即给用户显示发送给了哪些用户。我想,发送失败的可能较小。我

    们可以给用户的发送提示上写“订阅这个目标的用户有***”,个别的发送不成功应该不算欺骗用户。但是,能

    够想办法把哪封邮件发送失败的消息反馈给用户最好。这种方式与用户检索订阅用户的效果是一样的。我的设

    计是参照www.delphibbs.com发送邮件的设计,您可以参考一下。

        赞成linzc说的,可否请您把解决问题的过程留下日记,供大家分享?如同linzc本人的做法。

  3. 日记存入数据库后即给用户显示发送给了哪些用户:给用户的发送提示上写“订阅这个目标的用户有***”

    今晚开始写代码

发表评论

*必填

*必填 (不会被公开)


Copyright © 2004-2008 www.learndiary.com(学习日记)
Powered by WordPress with theme by UCDCHINA for Blogool come from JunChen Wu, nowa
联系版主:mdx-xx at tom dot com。2004.7.25