基于james3.0 的邮件系统(struts2.3.2 +spring3.0.1+jpa(hibernate3.6.5)实现)b/s模式--java邮件系统

本文主要是介绍基于james3.0 的邮件系统(struts2.3.2 +spring3.0.1+jpa(hibernate3.6.5)实现)b/s模式--java邮件系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下载地址一

https://code.google.com/p/java-mail-system/downloads/list

下载地址二

 下载

客户端版http://blog.csdn.net/afgasdg/article/details/6359702

有需要的可以加入java邮件系统群162909241

                            java邮件系统群2246547643

源代码SVN地址:http://java-mail-system.googlecode.com/svn/trunk/

一、             环境配置

本系统需要的环境:apache james3.0邮件服务器、tomcat 服务器、Mysql5.1数据库

二、             具体环境配置

Mysql5.1 配置

         使用本系统前请将mysql编码设置成utf-8编码形式,mysql用户名 root,密码root。

另外在mysql数据库中新建一个数据库名称为email的数据库。(不需要建立任何数据表运行时自动生成数据表)

 

James邮件服务器配置:

         1、对于邮件服务器的配置请将,james3.0-conf.zip文件解压之后覆盖james邮件服务器的conf目录。

         2、对于不是联网的用户需要修改james邮件服务器以下配置:(原因:james邮件服务器启动时需要联网加载xml校验文件。)

将activemq-core-5.4.1.jar文件覆盖原来的lib目录下的(activemq-core-5.4.1.jar)文件。

         Tomcat配置

1、  本系统需要javamail1.4.3 jar包。

项目中已经将jar包导入到了构建路径中,但是如果采用的是J2EE5将使用J2EE5中默认的javaMail  jar包。这个我还没有找到解决办法。而J2EE6使用的javamail版本刚好是1.4.3。故请使用J2EE6

三、             系统说明

本系统是使用 struts2.2.3+ spring 3.0.1 + jpa(hibernate3.6.5)+ jquery1.6.2 + jquery uploadify实现的。

请将项目的编码格式设置为utf-8格式的编码(否则可能出现乱码)

将本系运行时请输入 http://localhost:8080/email/

另外强调一点 ,使用前请先注册一个管理员账号。管理员账号 admin 、密码 admin,用于找回密码自动发送邮件时使用。

注意:1、系统可能导入之后有错误,那是因为缺少serverlet、jstl、standard等jar包(注意版本要对应)

           2、运行时如果出现拦截器异常,请将struts2配置文件中的拦截器去掉

           3、在第一次收取邮件时由于“收件箱”没有被初始化,请在发送邮件之前点击收件箱,否则可能发送不成功

外网发送邮件邮件服务器设置:

       1、修改dnsservice.xml(域名解析设置)
             

[html]  view plain copy
  1. <dnsservice>  
  2.     <servers>  
  3.     <server>8.8.8.8</server><!-- 这个是域名解析服务器IP地址,需要修改成自己的域名解析服务器 -->  
  4.     </servers>  
  5.     <autodiscover>false</autodiscover>  
  6.     <authoritative>false</authoritative>  
  7.     <maxcachesize>50000</maxcachesize>  
  8. </dnsservice>  
         2、修改domainlist.xml

         

[html]  view plain copy
  1. <domainlists>  
  2.   <domainlist class="org.apache.james.domainlist.xml.XMLDomainList">  
  3.     <domainnames>  
  4.       <!-- 这个是自己的域名 -->  
  5.       <domainname>domain.cn</domainname>  
  6.     </domainnames>  
  7.     <autodetect>false</autodetect>  
  8.     <autodetectIP>false</autodetectIP>  
  9.   </domainlist>  
  10. </domainlists>  
          3、修改mailserver.xml文件

[html]  view plain copy
  1. <mailserver>  
  2.   <postmaster>Postmaster@domain.cn</postmaster>  
  3.   <enableVirtualHosting> false </enableVirtualHosting>       
  4.   <defaultDomain> domain.cn</defaultDomain>  
  5.   <!-- 服务器域名,如果不设置其他邮箱可能拒收 -->  
  6.   <helloName autodetect="true">domain.cn</helloName>  
  7. </mailserver>  


四、             系统运行效果


图1.1 登录页面

 

图1.2 登录成功页面

 

图1.3 注册页面

 

图1.4注册数据校验页面

 

图1.5 注册数据正确页面

 

图 1.6 注册页面填写详细信息

 

图1.7 注册成功页面

 

图1.8 找回密码第一步

 

图1.9 找回密码第二步

 


 

图2.1 写信页面

 

图2.2 收信页面

 

图2.3 通讯录页面

 

图2.4 新建联系人分组页面

 

图2.5 新建联系人页面

 

图2.6 联系人列表页面

 

图2.7 修改个人信息列表

 

 

图2.8 修改个人信息页面

 

图2.9 修改密码

 


 

图3.1 低级搜索列表


图3.1 高级搜索页面

 

图3.2附件批量上传

 

图3.3 附件批量上传情况


有需要的可以加入java邮件系统群:62909241

 下载

这篇关于基于james3.0 的邮件系统(struts2.3.2 +spring3.0.1+jpa(hibernate3.6.5)实现)b/s模式--java邮件系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/993507

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J