`
sw1982
  • 浏览: 511240 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

javaMail搭建商业邮件系统的问题总结

阅读更多

  没有做过mail之前一直以为javamail就是传几个参数的问题,最近加了8天8夜的班,赶一个商业邮件系统的进度,才发现邮件系统的水很深。。。 废话不多讲,直接进入主题,列出我碰到的几个问题:


大致的功能:

 

邮件系统是linux+postfix+maildrop服务(有一个linux工程师的支持),我负责带领的3人小组完成前端的所有开发。认证采用的LDAP方式,前端java实现是
struts2+spring+hibernate,第一期功能暂时采用的IO操作来处理邮件列表(准备在邮件二期加入数据库索引,来支持大的并发)。目前已经实现的功能有:
1。基本的邮件系统逻辑流程。通讯录以及群发支持。
2。验证权限系统,换肤功能。
3。定时发送任务,定时清理回收站。
4。提供信缀广告(邮件体后的系统广告)

注意事项:

1.商用邮件系统不仅要发,要收,还要支持多用户,考虑到高性能的实现,以及用户量上去后的扩展性,因此多向高手请教,规划好一种实现方式是首要大事!目前我们的邮件系统是用java写前台,后台邮件服务器为Postfix,使用LDAP认证. 页面上的操作都是直接io操作存贮在服务器上的邮件文件(这个实现方式估计先天性就畸形了,撑不了太久,可是一个星期要做出来还能要求什么呢)。 个人想以后可能会将邮件存储到数据库,方便查找,分库,并且很容易通过加数据库字段给邮件添加一些紧急啊,非常重要之类的标示。

2.首先一个web的邮件系统,页面上的操作非常多,逻辑也是相当复杂。如何准确抓住需求点是个关键,一定要约几人充分讨论好需求。比如一开始我把收件夹,回收站,发件箱列表统一对待,公用一个page,同一段action代码。最后发现,收件夹是收件人是自己,发件箱发件人才是自己,如果允许邮件再这两个目录之间移动,显示邮件列表时,发件人栏显然要出bug,修正之!

 另外,读邮件页面也得分“收到别人的信”与“自己的草稿”。收到的信有转发和回复操作,而自己的草稿显然只能提供继续发送操作。

还要比如pop3协议是不支持区分新旧邮件的,如何判读收件夹信是新是旧,就看各位的高招了。

3.邮件页面一般用frame实现,3个块:左边列表,上面的网站头,中间的邮件。 这里有个麻烦的就是中间frame操作邮件,如何让左边的列表栏可以动态更新新邮件标识。不能说2个新邮件,你去读过了以后,右边还是显示2封新邮件。 这里我的实现方式是中间邮件frame的页面写body 的onload事件:每次操作,加载中间这个页面的时候,用onload事件去刷左边的邮件菜单列表。

4.再就是一定要了解下几种邮件传输的协议,知道自己在干嘛。另外发邮件的时候,正文弄个漂亮的编辑器,让别人写<textarea>. MimeMessage 类里面的字段,方法含义需要了解一下,比如一个地址javax.mail.internet.InternetAddress类中会出现几个变量,分别由不同作用。再比如Message.RecipientType,3种收件人都弄清楚了嘛? "to"----收件人 "cc"---抄送人地址 "bcc"---密送人地址

5.再就是linux上面的部署问题了。调试了2天才解决。第一就是跑Postfix进程的用户,必须和起java虚拟机的用户配成同一个用户,以免导致Postfix访问目录的权限不够,无法投递邮件。(我们是root起得tomcat,跑的java虚拟机,然后在java中初始化用户目录以后,出现Postfix一直无法投递信件的问题,最后重装jdk,tomcat,用maildrop那个用户去启动,搞定)。 第2 就是Postfix配合LDAP投递貌似对路径有要求,只能投递到Maildrop/new目录下,而且同时需要建立一个maildrop/tmp目录,缺少了tmp就会报出权限不够而无法投递的错误,,,估计也是要调试n久才会发现居然是少建立了一个目录而已。玩linux的一定要仔细阅读说明才行啊。。

分享到:
评论

相关推荐

    基于Javamail的邮件收发系统.zip

    基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件...

    基于JavaMail的电子邮件收发系统设计说明.doc

    研究基于JavaMail的电子邮件系统,是为了克服现有服务存在的问题,如功能过于复杂、操作不便、成本高等。通过深入理解SMTP和POP3等邮件传输协议,设计出一个简化操作、实用性强的系统,使用户能快速收发邮件,不受...

    基于Javamail的邮件收发系统

    **基于Javamail的邮件收发系统** JavaMail是一个开放源码的API,它为Java程序员提供了一套全面的接口来处理电子邮件。这个系统的设计目的是使得开发者能够方便地发送和接收邮件,包括附件、HTML内容以及MIME多部分...

    基于Javamail的邮件收发系统(系统+论文+开题报告+任务书+外文翻译+文献综述+答辩PPT).zip

    基于Javamail的邮件收发系统是一款简单、方便、快捷的邮件系统。它能实现邮件的接收与发送,并能完成附件的传输,具有较好的人机交互性,易于使用。 开发环境:JDK1.6 + Windows平台 开发技术:Javamail 开发工具:...

    基于javamail的电子邮件系统的设计与实现,一整套,工程,word,ppt,直接运行

    基于JavaMail的电子邮件系统设计与实现,主要涉及以下几个关键知识点: 1. **JavaMail API**: JavaMail API是Java平台上的一个开源库,它提供了用于处理邮件消息的接口和类。开发者可以通过它来创建、读取、发送和...

    基于Javamail的邮件收发系统(系统+文档+开题报告+任务书+外文翻译+文献综述+答辩PPT).zip

    《基于Javamail的邮件收发系统》项目是一份全面的资料集合,包含了系统实现、相关文档、开题报告、任务书、外文翻译、文献综述以及答辩PPT等重要组成部分,旨在帮助读者深入理解和掌握使用JavaMail进行邮件收发的...

    (Java毕业设计)基于Javamail的邮件收发系统(系统++开题报告+任务书+外文翻译+文献综述+答辩PPT).rar

    (Java毕业设计)基于Javamail的邮件收发系统(Java毕业设计)基于Javamail的邮件收发系统(Java毕业设计)基于Javamail的邮件收发系统(Java毕业设计)基于Javamail的邮件收发系统(Java毕业设计)基于Javamail的邮件收发系统...

    基于javaMail电子邮件系统的设计(含源文件).pdf

    在设计基于 JavaMail 的电子邮件系统时,你需要理解以下几个关键知识点: 1. **SMTP 协议**:简单邮件传输协议(Simple Mail Transfer Protocol)是用于发送邮件的标准协议。SMTP 服务器使用此协议将邮件从一台机器...

    基于Javamail的邮件收发系统(word论文+开题报告+任务书+答辩PPT).zip

    总结,基于Javamail的邮件收发系统是Java编程领域的一个实用案例,涵盖了网络通信、邮件协议、API使用等多个重要知识点,对于学习和掌握Java开发具有很高的参考价值。通过这个项目,开发者可以深入理解电子邮件的...

    基于javaMail电子邮件系统的源代码

    总结来说,基于JavaMail的电子邮件系统是通过JavaMail API与邮件服务器交互,利用jsp创建用户界面,Tomcat作为运行环境,同时依赖activation.jar和mail.jar这两个关键的库文件。理解并掌握这些知识点,可以帮助...

    JavaMail 具备垃圾邮件过滤功能的邮箱

    在描述中提到的“具备垃圾邮件过滤功能的邮箱”是一个基于JavaMail实现的邮件系统,其核心亮点在于增加了垃圾邮件过滤机制,以提高用户对邮件的管理效率。 首先,这个邮箱系统实现了邮件的基本功能,包括收发邮件。...

    javamail邮件系统(java邮件系统源代码)

    本邮件系统当有新邮件到达时可以提示,并且系统托盘中的邮件图标会闪动。本邮件系统是本人为了熟悉java而开发的,肯定有很多不足之处,大家可以自行改正。嘿嘿 本压缩包包括源代码和可执行的压缩包!

    基于JavaMail邮件系统的设计与实现 论文

    JavaMail邮件系统的设计与实现是基于Java编程语言的,它利用了JavaMail API来处理电子邮件的发送、接收等任务。JavaMail API是一个开源的、跨平台的库,它提供了与各种邮件服务器通信的能力,支持SMTP(简单邮件传输...

    javamail实现邮件系统

    本邮件系统当有新邮件到达时可以提示,并且系统托盘中的邮件图标会闪动。本邮件系统是本人为了熟悉java而开发的,肯定有很多不足之处,大家可以自行改正。嘿嘿 本压缩包包括源代码和可执行的压缩包!

    javamail邮件管理系统

    总结来说,JavaMail邮件管理系统是通过JavaMail API利用SMTP和IMAP协议实现邮件的收发功能,它为开发者提供了一个强大且灵活的工具集,以构建高效、可靠的邮件应用。开发者可以根据需求扩展功能,如邮件过滤、自动...

    javamail 收发电子邮件

    JavaMail 是一个强大的开源库,专门用于在Java应用程序中实现电子邮件的发送和接收。它支持多种邮件协议,如SMTP(简单邮件传输协议)用于发送邮件,IMAP(因特网消息访问协议)和POP3(邮局协议)用于接收邮件。在...

    基于Javamail的邮件收发系统(系统+论文+开题报告+任务书+外文翻译+文献综述+答辩PPT).rar

    这个基于 Javamail 的邮件收发系统是利用 JavaMail 提供的接口和类来构建的一个完整的邮件处理系统。该系统可能包含了多个组件,如用户界面、服务器端处理逻辑以及与 SMTP 和 POP3/IMAP 协议的交互。 首先,让我们...

    基于Javamail的邮件收发系统(系统+LW+开题报告+任务书+外文翻译+文献综述+PPT).zip

    基于Javamail的邮件收发系统(系统+LW+开题报告+任务书+外文翻译+文献综述+PPT)基于Javamail的邮件收发系统(系统+LW+开题报告+任务书+外文翻译+文献综述+PPT)基于Javamail的邮件收发系统(系统+LW+开题报告+任务...

    使用JAVAMail代发邮件

    使用 JavaMail 代发邮件 使用 JavaMail 库可以轻松地在 Java 应用程序中发送电子邮件。JavaMail 是一个 Java API,用于在 Java 应用程序中发送和接收电子邮件。它提供了一个抽象层,允许开发者使用不同的电子邮件...

Global site tag (gtag.js) - Google Analytics