请教JAVA 邮件系统的设计,以及一些业务逻辑.

Python014

请教JAVA 邮件系统的设计,以及一些业务逻辑.,第1张

个人想法,请参考:

1.保存到文件夹吧,我觉得不用移除附件。 遇到有过滤附件的需求时再考虑吧。

2.存邮件表的应该是包含邮件列表页面显示的内容吧。内容之外的是不是就可以不在这张表里存了。比如抄送地址这种,就一并存到文件里吧,算是邮件头。查看的时候解析。

3.同意,exchange web就是这样的。

4.统一用utf8编码吧

5.这个不太清楚,不好意思。

6.中间有异常的话是不是要算成草稿。就是1(入库+写文件)2 发送 3 根据发送修改数据记录

7.不太清楚具体情况。debug一下呢? 内存中没有大数据的处理吧?

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

// TODO Auto-generated method stub

Object o_cid=request.getParameter("cid")

Object o_sn=request.getParameter("sn")

if(null==o_cid||null==o_sn)return mapping.findForward("404")

Long cid=Long.valueOf(o_cid.toString())

String sn=String.valueOf(o_sn)

CompanyPswManage cpm=companyPswManageService.findById(cid)

if(null==cpm||!sn.equals(cpm.getSn()))return mapping.findForward("404")

request.getSession().setAttribute("cpm",cpm)

// ���ȡ���ͼƬ

String URL=null

List<CompanyAd>listAD = new ArrayList<CompanyAd>()

// A��

listAD = companyAdService.findCompanyAdByType("A", 1)

if(listAD!=null&&listAD.size()>0){

URL=listAD.get(0).getUrl()

request.getSession().setAttribute("A_url", URL)

request.getSession().setAttribute("A_cid", listAD.get(0).getCid())

}else{

request.getSession().setAttribute("A_url", "")

request.getSession().setAttribute("A_cid", 0)

}

// B��

listAD = companyAdService.findCompanyAdByType("B", 1)

if(listAD!=null&&listAD.size()>0){

URL=listAD.get(0).getUrl()

request.getSession().setAttribute("B_url", URL)

request.getSession().setAttribute("B_cid", listAD.get(0).getCid())

}else{

request.getSession().setAttribute("B_url", "")

request.getSession().setAttribute("B_cid", 0)

}

// C��(���ȡ6��)

listAD = companyAdService.findCompanyAdByType("C", 6)

request.getSession().setAttribute("C_list",listAD)

// D��(ȡ8��)

listAD = companyAdService.findCompanyAdByType("D", 8)

request.getSession().setAttribute("D_list", listAD)

List<CompanyProfile>cplist = new ArrayList<CompanyProfile>()

if(listAD!=null&&listAD.size()>0){

//ȡ��˾

for(int i=0i<listAD.size()i++){

Long ccid = listAD.get(i).getCid()

CompanyProfile cp = companyProfileService.findById(ccid)

cplist.add(cp)

}

request.getSession().setAttribute("cplist",cplist)

}

// E��

listAD = companyAdService.findCompanyAdByType("E", 1)

request.getSession().setAttribute("E_list", listAD)

return mapping.findForward("pswRetakeConfirm")

}

public void setCompanyPswManageService(

ICompanyPswManageService companyPswManageService) {

this.companyPswManageService = companyPswManageService

}

}

public class CompanyPswManageService implements ICompanyPswManageService {

private ICompanyPswManageDAO companyPswManageDao

public void setCompanyPswManageDao(ICompanyPswManageDAO companyPswManageDao) {

this.companyPswManageDao = companyPswManageDao

}

public boolean save(CompanyPswManage transientInstance){

return companyPswManageDao.save(transientInstance)

}

public boolean delete(CompanyPswManage persistentInstance){

return companyPswManageDao.delete(persistentInstance)

}

public CompanyPswManage findById(java.lang.Long id){

return companyPswManageDao.findById(id)

}

}

没什么优点,JAVA邮件API只是为了在企业级应用架构中构建模块的一部分来完善一套系统的基础功能。

如果用JAVA来开发邮件客户端程序的话确实有些勉强,其远远比不上其他语言开发的客户端程序的。

其最大的好处也就是让程序员迅速熟悉JAVA MAIL 的API吧。其他的我还真的想不出来它会相比其他的会有什么优势。