基于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

相关文章

java设计模式之工厂模式--普通工厂方法模式(Factory Method)

1.普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。 2.先定义一个接口: package com.zhong.pattern.factorymethod;/*** 发送接口* @author admin**/public interface Sender {/*** 发送消息方法* @param msg*/void send(String msg);} 3

Java设计模式之代理模式2-动态代理(jdk实现)

这篇是接着上一篇继续介绍java设计模式之代理模式。下面讲解的是jdk实现动态代理。 1.)首先我们要声明一个动态代理类,实现InvocationHandler接口 package com.zhong.pattern.proxy;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;/*** 演

java设计模式之代理模式1--静态代理

Java编程的目标是实现现实不能完成的,优化现实能够完成的,是一种虚拟技术。生活中的方方面面都可以虚拟到代码中。代理模式所讲的就是现实生活中的这么一个概念:助手。 代理模式的定义:给某一个对象提供一个代理,并由代理对象控制对原对象的引用。 1.)首先新建一个表演的接口 package com.zhong.pattern.proxy;/*** 表演接口* @author admin*

java原型(Prototype)设计模式

原型模式就是讲一个对象作为原型,使用clone()方法来创建新的实例。 public class Prototype implements Cloneable{private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}@Overri

Java中23种设计模式之适配者模式

适配器模式的作用就是在原来的类上提供新功能。 主要可分为3种: 1.类适配:创建新类,继承源类,并实现新接口,例如:     class Adapter extends OldClass implements NewFunc{} 2.对象适配:创建新类持源类的实例,并实现新接口,例如:     class Adapter implements NewFunc { priva

java不依赖临时变量交换两个变量的值

java不依赖临时变量交换两个变量的值 1.简单易懂的实现方式     int a=1,b=2;     int temp = 0;     temp = a;     a = b;     b= temp; 2.算术算法 int a=1,b=2; a = a+b;// a = 1+2  b = a-b;// b = a-b --> b=3-2 -->1 a = a -b;/

Java中的SOLID原则及示例

类是任何Java应用程序的构建块。如果这些区块不强,那么建筑(即应用)将来将面临艰难时期。这实际上意味着,当应用程序范围上升或应用程序在生产或维护中面临某些设计问题时,不那么好的编写会导致非常困难的情况。 另一方面,一组精心设计和编写的类可以加速编码过程的突飞猛进,同时减少错误的数量。 在本教程中,我们将使用 5个最推荐的设计原则的示例来讨论Java中的SOLID原则,在编写类时我们应该记住这

Java比较和交换示例 - CAS算法

Java比较和交换示例 - CAS算法 由Lokesh Gupta | 提起下:多线程 一个Java 5中最好添加的是支持类,如原子操作AtomicInteger,AtomicLong等等。这些课程帮助您最大限度地减少复杂的(非必要)需要多线程的,如增加一些基本的操作代码或递减的值在多个线程之间共享。这些类内部依赖于名为CAS(比较和交换)的算法。在本文中,我将详细讨论这个概念。 1.乐观和

java并发编程之CyclicBarrier(循环栅栏)

package com.zhong;import java.util.concurrent.CyclicBarrier;/*** Cyclic意思是循环,Barrier意思是屏障,那么CyclicBarrier翻译过来就是循环栅栏。* 它是一个同步辅助类,能让一组线程互相等待,* 直到这一组线程都到了一个公共屏障点,各线程才能继续向下执行。因为该屏障能够在释放等待线程后继续重用,所以叫循环屏障。*

Java内存管理 - 垃圾收集算法

我们都知道Java 中垃圾收集器 [GC] 的功能。但只有少数人试图深入了解垃圾收集的工作原理。你不是其中之一,这就是你在这里的原因。 在这个Java内存管理教程中,我们将尝试了解Java垃圾收集的当前算法,我们将了解这些算法的演变。 目录1. Java中的内存管理2.引用计数机制3.标记和清除机制4.停止并复制GC 5.分代停止和复制6.如何提高Java中的内存利用率 1.