建议:邮件本身保存到数据库。附件保存文件,同时数据库保存文件路径。邮件发送spring有很完善的例子,可以参考。

解决方案 »

  1.   

    我提供一下我们目前使用的方法
    1 由于用户最关心的是邮件的标题,发送,接收人,日期,是否有附件等几个有限的标志,所以这几个数据保存到数据库。
    邮件正文和附件,以eml格式,也就是完整的邮件格式保存到磁盘上。James邮件服务器也是这样做的。2 数据库部分生成一个唯一的UID, 然后关联保存磁盘上的邮件本体。3 定时发送的程序,直接根据邮件的UID,拿到邮件的本体,直接放在Data命令里面发出去就行了!4 javamail, 可以从File直接读取和写出eml格式的文件。请查阅相关API
      

  2.   

    谢谢二位的解答,我目前没有把定时发送的邮件以eml格式保存到本地,都是做的数据库保存,附件只是保存的路径,包括图片,然后在定时处理时构造邮件发送,不知道这样的处理是否在效率方面与楼上的方案有多少差距,是否合理?望得到指点,谢谢!